ALTER TABLE
Модификация таблиц и атрибутов полей.
Синтаксис:
ALTER TABLE таблица [ * ] ADD [ COLUMN ] поле тип ALTER TABLE таблица [ * ] ALTER [ COLUMN ] поле { SET DEFAULT по_умолчанию \ DROP DEFAULT } ALTER TABLE таблица [ * ] RENAME [ COLUMN ] попе ТО новое_попе ALTER TABLE таблица RENAME TO новое_имя ALTER TABLE таблица ADD CONSTRAINT новое_ограничение определение ALTER TABLE таблица OWNER TO новый_владелец
Параметры:
- таблица. Имя существующей таблицы, в которую вносятся изменения.
- поле. Имя нового или существующего поля, в которое вносятся изменения.
- тип. Тип данных нового поля (используется только при создании новых полей).
- по_умолчанию. Новое значение но умолчанию для заданного поля.
- новое_поле. Новое имя поля.
- новая_таблица. Новое имя таблицы.
- новое_ограничение определение. Имя и определение нового ограничения, добавляемого в существующую таблицу. За дополнительной информацией о создании ограничений обращайтесь к главе 7.
- новый_владелец. Новый владелец таблицы.
Результаты:
- ALTER. Сообщение выдается при успешной модификации поля или таблицы.
- ERROR. Ошибка – модификация поля или таблицы невозможна (по возможности с разъяснением причин).
Описание
Команда ALTER TABLE предназначена для внесения разнообразных изменений в структуру существующих таблиц баз данных. Переименование полей или таблиц производится ключевым словом RENAME. Содержимое поля или таблицы при переименовании не изменяется. Новые ограничения включаются в таблицу секцией ADD CONSTRAINT, при этом ограничения определяются с таким же синтаксисом, как при создании таблицы командой CREATE TABLE (см. описание команды CREATE TABLE).
В последней на момент издания книги версии PostgreSQL (7.1.x) секция ADD CONSTRAINT поддерживает добавление только ограничений внешнего ключа (FOREIGN KEY) и проверки (CHECK). Ограничение уникальности (UNIQUE) можно установить косвенно – построением уникального индекса командой CREATE INDEX (см. описание команды CREATE INDEX). Чтобы создать любое другое ограничение, необходимо создать таблицу заново и заполнить ее данными.