
- •Ограничения целостности Первичные ключи
- •Внешние ключи
- •Ссылочная целостность
- •Изменение таблиц
- •Добавление колонки
- •Удаление колонки
- •Добавление ограничения
- •Удаление ограничения
- •Изменение значения по умолчанию для колонки
- •Изменение типа данных колонки
- •Переименование колонки
- •Переименование таблицы
- •Удаление таблиц
Изменение типа данных колонки
Чтобы преобразовать колонку к другому типу данных, используйте команду вида:
ALTER TABLE products ALTER COLUMN price TYPE numeric(10,2);
Команда выполнится успешно только если каждая существующая запись в колонке может быть преобразована к новому типу через неявное приведение типа.
PostgreSQL будет пытаться преобразовать к новому типу значение по умолчанию, заданное для колонки, а также все ограничения, связанные с этой колонкой. Но эти преобразования могут завершиться ошибкой или могут привести к неожиданным результатам. Часто, лучше удалить все ограничения на колонку перед тем как изменить её тип, а затем добавить соответственно изменённые ограничения обратно.
Переименование колонки
ALTER TABLE products RENAME COLUMN product_no TO product_number;
Переименование таблицы
ALTER TABLE products RENAME TO items;
Удаление таблиц
DROP TABLE [ IF EXISTS ] name [, ...] [CASCADE|RESTRICT]
Удаляет одно или больше определений таблиц и все данные, индексы, триггеры, ограничения и разрешения для этих таблиц.
Инструкцию DROPTABLEнельзя использовать для удаления таблицы, на которую ссылается ограничениеFOREIGNKEY. Сначала следует удалить ссылающееся ограничениеFOREIGNKEYили ссылающуюся таблицу. Если и ссылающаяся таблица, и таблица, содержащая первичный ключ, удаляются с помощью одной инструкцииDROPTABLE, ссылающаяся таблица должна быть первой в списке.
Несколько таблиц можно удалить из любой базы данных. Если удаляемая таблица ссылается на первичный ключ другой таблицы, которая также удаляется, ссылающаяся таблица с внешним ключом должна стоять в списке перед таблицей, содержащей указанный первичный ключ.
При удалении таблицы относящиеся к ней правила и значения по умолчанию теряют привязку, а любые связанные с таблицей ограничения или триггеры автоматически удаляются. Если таблица будет создана заново, нужно будет заново привязать все правила и значения по умолчанию, заново создать триггеры и добавить необходимые ограничения.