Все эти команды объединяет то, что они начинаются с ключевой команды ALTER TABLE.
Добавление колонки.
Добавляем новую колонку к нашей таблице.
Синтаксис:
ALTER TABLE TABLE_NAME ADD (column_NAME column_type);
TABLE_NAME – наименование таблицы.
Column_NAME – наименование колонки.
Column_type – тип данных колонки (VARCHAR (n) или NUMBER или DATE).
Примеры:
Пусть у нас есть таблица GOODS, необходимо добавить колонку itemprice типа NUMBER, цена изделия.
ALTER TABLE GOODS ADD (itemprice NUMBER);
Пусть у нас есть таблица MANS, необходимо добавить колонку DATEreg типа DATE, дата регистрации, и колонку patronymic – отчество VARCHAR2 (50).
ALTER TABLE MANS ADD (DATEreg DATE);
ALTER TABLE MANS ADD (patronymic VARCHAR2 (50));
Удаление колонки
Также мы можем удалить колонку из заданной таблицы с помощью специальной SQL-команды DROP COLUMN.
Синтаксис:
ALTER TABLE TABLE_NAME DROP COLUMN column_NAME;
Примеры:
Пусть у нас есть таблица GOODS, необходимо удалить колонку COLOR.
ALTER TABLE GOODS DROP COLUMN COLOR;
Пусть у нас есть таблица MANS, необходимо удалить колонку YEAROLD.
ALTER TABLE MANS DROP COLUMN YEAROLD;
Меняем тип данных для колонки таблицы.
Синтаксис изменения типа колонки:
ALTER TABLE TABLE_NAME MODIFY (column_NAME DATA_type);
Сolumn_NAME – наименование колонки.
Data_type – тип данных колонки (VARCHAR (n) или NUMBER или DATE).
Примеры:
– заменить в таблице MANS тип поля NAME на VARCHAR2 (90);
ALTER TABLE MANS MODIFY (NAME VARCHAR2 (90));
– заменить в таблице GOODS тип поля INSERT_DATE на DATE;
ALTER TABLE GOODS MODIFY (INSERT_DATE DATE);
Удаляем таблицу из базы данных.
Синтаксис команды SQL для удаления таблицы:
DROP TABLE TABLE_NAME;
Здесь TABLE_NAME – наименование таблицы.
Примеры:
– удалить таблицу DOC;
DROP TABLE doc;
– удалить таблицу ITEMS;
DROP TABLE ITEMS;
– удалить таблицу BILLING_PERIOD со связанными данными в таблице PERIODS.
DROP TABLE BILLING_PERIODS CASCADE;
Важные замечания
1. При выполнении действий по изменению структуры таблицы следует быть особенно осторожным, следует тщательно взвешивать свои действия: восстановление таблицы в прежнем виде может быть затруднительно или невозможно.
2. Если вы используете команды изменения типов данных и встречаетесь с ошибкой ORA-01439, модифицируемый столбец при смене типа данных должен быть пуст. Сохраните данные в столбце и используйте специальные преобразования, о которых будет рассказано в следующих шагах.
3. В некоторых случаях удаление таблицы или колонки таблицы будет запрещено, поскольку могут быть еще таблицы со связанными данными. Требуется сначала удалить данные в связанных таблицах, а уже затем удалять таблицу либо колонку. Или же воспользоваться специальной командой DROP CASCADE.
Вопросы учеников
Можно ли переименовать таблицу?