Лекция 14. Создание, модификация и удаление таблиц
План:
- Создание таблицы
- Модификация таблиц
- Удаление таблиц
Создание таблицы
CREATE TABLE <имя_таблицы>
(<имя_столбца> <тип_столбца>
[NOT NULL]
[UNIQUE | PRIMARY KEY]
[REFERENCES <имя_ таблицы> (<имя_столбца>)]
, ...)
Пользователь обязан указать имя таблицы и список столбцов. Для каждого столбца обязательно указываются его имя и тип, а также опционально могут быть указаны параметры:
- NOT NULL - в этом случае элементы столбца всегда должны иметь определенное значение (не NULL)
- один из взаимоисключающих параметров UNIQUE - значение каждого элемента столбца должно быть уникальным или PRIMARY KEY - столбец является первичным ключом.
- REFERNCES <имя_мастер_таблицы> [<имя_столбца>] - эта конструкция определяет, что данный столбец является внешним ключом и указывает на ключ какой мастер_таблицы он ссылается.
Контроль за выполнением указанных условий осуществляет СУБД
Модификация таблиц
Как бы тщательно не планировалась структура таблицы, иногда возникает необходимость внести в нее некоторые изменения. Предположим, что в уже сформированную таблицу необходимо добавить столбец. Эту операцию можно выполнять различными путями. Например, можно удалить таблицу со старой структурой и создать вместо нее новую таблицу с нужной структурой. Недостатком этого метода является то, что необходимо будет куда-то скопировать имеющиеся в таблице данные и переписать их в новую таблицу после ее создания.
Специальная команда ALTER TABLE предназначена для модификации структуры таблицы. С ее помощью можно изменять свойства существующих столбцов, удалять или добавлять в таблицу столбцы, а также управлять ограничением целостности, как на уровне столбца, так и на уровне таблицы, т.е. выполнять следующие функции:
·
- добавить в таблицу определение нового столбца;
- удалить столбец из таблицы;
- изменить значение по умолчанию для какого-либо столбца;
- добавить или удалить первичный ключ таблицы;
- добавить или удалить внешний ключ таблицы;
- добавить или удалить условие уникальности;
- добавить или удалить условие на значение.
Команда ALTER TABLE берет на себя все действия по копированию данных во временную таблицу, удалению старой таблицы и созданию вместо нее новой таблицы с нужной структурой и последующим переписыванием в нее данных.
Назначение многих параметров и ключевых слов команды ALTER TABLE аналогично назначению соответствующих параметров и ключевых слов команды CREATE TABLE.
Рассмотрим основные режимы использования команды ALTER TABLE:
- добавление столбца;
- удаление столбца;
- модификация столбца;
- Добавление столбца
ALTER TABLE <имя_таблицы> ADD
(<имя_столбца> <тип_столбца>
[NOT NULL]
[UNIQUE | PRIMARY KEY]
[REFERENCES <имя_мастер_таблицы> (<имя_столбца>)]
,...)
- Модификация столбца
ALTER TABLE <имя_таблицы>
ALTER COLUMN(<имя_столбца> <тип_столбца>
[NOT NULL]
[UNIQUE | PRIMARY KEY]
[REFERENCES <имя_мастер_таблицы> (<имя_столбца>)]
,...)
Изменение столбца невозможно, если:
- столбец участвует в ограничениях PRIMARY KEY или FOREIGN KEY;
- на столбец наложены ограничения целостности, например UNIQUE (исключение – столбцы, имеющие тип данных переменной длины;
- со столбцом связано значение по умолчанию.
Определяя для столбца новый тип данных, следует помнить о том, что старый тип данных должен конвертироваться в новый.
- Удаление столбца
ALTER TABLE <имя_таблицы> DROP
(<имя_столбца>
,...)
Нельзя удалять столбцы с ограничением целостности CHECK, FOREIGN KEY, UNIQUE или PRIMARY KEY, а также столбцы, для которых определены значения по умолчанию.
Удаление таблиц
DROP TABLE <имя_таблицы>
Невозможно удалить таблицу, если на нее ссылается другая таблица.
Вопросы для самоконтроля:
- Приведите общий синтаксис SQL-оператора для создания таблицы.
- Приведите общий синтаксис SQL-оператора для добавления столбца в таблицу.
- Приведите общий синтаксис SQL-оператора для модификации столбца.
- В каких случаях модификация столбца невозможна?
- Приведите общий синтаксис SQL-оператора для удаления столбца.
- В каких случаях удаление столбца невозможно?
Дата добавления: 2021-01-26; просмотров: 720;