СУБД/лекция 1 семестр 2
Материал из Wiki
Содержание |
Слайды
Ссылки на литературу
- СОЗДАНИЕ ТАБЛИЦ
- SQL - Урок 3. Создание таблиц и наполнение их информацией
- SQL - Урок 9. Редактирование, обновление и удаление данных
Создание таблиц
Создание и удаление таблиц в ms sql server. Все данные в БД sql server хранятся в таблицах. Таблицы состоят из колонок, объединяющих значения одного типа, и строк - записей в таблице. В одной БД может быть до 2 миллиардов таблиц, в таблице - 1024 колонки, в одной строке (записи) - 8060 байтов.
sql server поддерживает следующие типы данных:
Тип данных Обозначение Размер, байт Бинарные данные binary varbinary[(n)] 1-8000 Символы char[(n)] varchar[(n)] 1-8000 ( до 8000 символов) Символы unicode nchar[(n)] nvarchar[(n)] 1-8000 (до 4000 символов) Дата и время datetime 8 smalldatetime 4 Точные числа decimal[(p[,s])] 5-17 numeric[(p[,s])] 5-17 Приблизительные числа float[(n)] 4-8 real 4 Глобальный идентификатор uniqueidentifier 16 Целые числа int 4 smallint 2 tinyint 1 Денежки money, smallmoney 8, 4 Специальные bit, cursor, sysname, timestamp 1, 0-8 Текст и изображение text, image 0-2 Гб Текст unicode ntext 0-2 Гб
- Таблицы можно создавать с помощью оператора create table языка transact-sql, а также с помощью enterprise manager.
Содание таблиц с помощью create table
Для создания таблиц применяется оператор create table. Вот как выглядит упрощенный синтаксис этого оператора:
create table table_name (column_name data_type [null | not null] [,...n])
Например:
CREATE TABLE member ( member_no INT NOT NULL, lastname CHAR(50) NOT NULL, firstname CHAR(50) NOT NULL, photo image NULL )
Этим оператором создается таблица member, состоящая из четырех колонок:
- member_no - имеет тип int, значения null не допускаются
- lastname - имеет тип char(50) - 50 символов, значения null не допускаются
- firstname - аналогично lastname
- photo - имеет тип image (изображение), допускается значение null
null - специальное обозначение того, что элемент данных не имеет значения. В описании типа колонки указывается, что элементы данных могут быть неинициализированы. При указании not null - "пустые" значения не допускаются. Если при вставке записи пропустить значение для такой колонки, вставка не произойдет, и sql server сгенерирует ошибку.
- Попробуйте выполнить эту команду. Запустите query analyzer. Соединитесь с Вашим сервером. Из списка БД выберите sqlstep. Скопируйте в окно команд команду создания таблицы и выполните ее. (Если не забыли, надо нажать f5 или ctrl-e).
- Чтобы точно удостовериться, в том, что таблица была создана, наберите команду:
sp_help member
- Выделите ее (как в обычном редакторе) и снова нажмите f5. В окно результатов будет выведена информация о таблице member.
- sp_help - системная процедура, которая возвращает информацию об объектах БД (таблицах, хранимых процедурах и пр.).
Формат вызова таков: sp_help <имя таблицы> или для MySql show tables;
- Удалить таблицу проще простого. Там же, в запросчике (так у нас называют query analyzer), наберите:
drop table member
Удаление столбцов
Удаление столбца можно сделать при помощи следующей конструкции:
ALTER TABLE TABLE_NAME DROP field_name
- table_name - имя таблицы, в которой будет удален столбец;
- field_name - имя удаляемого столбца.
$sql="ALTER TABLE search DROP id_num"; mysql_query($sql);
Если мы хотим удалить сразу несколько полей, то надо через запятую повторить DROP field_name для каждого столбца:
ALTER TABLE SEARCH DROP id_1, DROP id_2, DROP id_3
$sql="ALTER TABLE search DROP id_1, DROP id_2, DROP id_3"; mysql_query($sql);