Использование таблиц
Модификация таблицы командой 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 не нужно. Изменение структуры таблиц после подобных ошибок рассматривается ниже в подразделе "Реструктуризация таблиц".