SQLLab
Глоссарий/ALTER TABLE
DDL / СхемаСредний

ALTER TABLE

Изменяет структуру существующей таблицы: добавляет колонки, меняет типы, добавляет ограничения.

Синтаксис
ALTER TABLE table
  ADD COLUMN col type [constraints];
  DROP COLUMN col;
  ALTER COLUMN col TYPE new_type;
  ADD CONSTRAINT name CHECK (condition);

Объяснение

ALTER TABLE — основная команда для изменения схемы. В PostgreSQL DDL транзакционен — можно откатить. Осторожно в production: - ADD COLUMN с NOT NULL DEFAULT — мгновенно с PostgreSQL 11+ - ALTER COLUMN TYPE — перезаписывает всю таблицу, долгая блокировка - Для больших таблиц используй zero-downtime стратегии

Пример

-- Добавить колонку (быстро в PG11+)
ALTER TABLE users ADD COLUMN phone TEXT;

-- Добавить CHECK constraint
ALTER TABLE products
ADD CONSTRAINT price_positive CHECK (price > 0);

-- Переименовать колонку
ALTER TABLE users RENAME COLUMN fullname TO full_name;