Иллюстрированный самоучитель по PostgreSQL

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). Чтобы создать любое другое ограничение, необходимо создать таблицу заново и заполнить ее данными.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.