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

Использование таблиц

Модификация таблицы командой ALTER TABLE

В большинстве современных РСУБД предусмотрена возможность модификации таблиц командой ALTER TABLE. Реализация ALTER TABLE в PostgreSQL 7.1.x поддерживает шесть типов модификации:

  • создание полей;
  • назначение и отмена значений по умолчанию;
  • переименование таблицы;
  • переименование полей;
  • добавление ограничении;
  • смена владельца.

Создание полей

Для создания нового поля в команду ALTER TABLE включается секция ADD COLUMN. Синтаксис команды ALTER TABLE с секцией ADD COLUMN:

ALTER TABLE таблица
ADD [ COLUMN ] имя_поля тип_поля

Где:

  • таблица – имя таблицы, в которой создается новое поле;
  • имя_поля – имя создаваемого поля;
  • тип_поля – тип создаваемого поля.

Ключевое слово COLUMN не является обязательным и включается в команду лишь для наглядности.

Предположим, в таблицу books базы данных booktown потребовалось включить новое поле publication для хранения даты публикации. Листинг4.8 показывает, как это делается.

Листинг 4.8. Добавление поля.

booktown=# ALTER TABLE books
booktown-# ADD publication date;
ALTER
booktown=# \d books
Table "books"
Attribute | Type | Modifier
id integer | not null
title text I not null
authorjd j integer |
subjectjd integer |
publication date j Index: books_id_pkey

Листинг 4.8 показывает, что в таблице books появилось новое поле с именем publication и типом date. Кроме того, он дает типичный пример плохой координации планирования между разработчиками: в базе данных booktown из нашего примера дата публикации уже хранится в таблице editions, поэтому включать его в таблицу books не нужно. Изменение структуры таблиц после подобных ошибок рассматривается ниже в подразделе "Реструктуризация таблиц".

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