ALTER TABLE
Изменяет структуру существующей таблицы: добавляет колонки, меняет типы, добавляет ограничения.
ALTER TABLE table ADD COLUMN col type [constraints]; DROP COLUMN col; ALTER COLUMN col TYPE new_type; ADD CONSTRAINT name CHECK (condition);
Объяснение
Пример
-- Добавить колонку (быстро в 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;
Связанные термины
Анекдоты по теме
— Что такое первая нормальная форма? — Каждая ячейка содержит одно неделимое значение. — Пример нарушения? — Колонка 'теги' со значением 'sql,база данных,запросы'. — А как правильно? — Отдельная таблица тегов.
— Когда денормализация оправдана? — Когда JOIN слишком дорог для критичных запросов. — Примеры? — Материализованные агрегаты: сохранить total_orders в таблице users. — Дублирование для аналитики: OLAP схемы специально денормализованы. — Риски? — Несогласованность. Нужны триггеры или приложение для синхронизации.
— Доктор, у меня SELECT в SELECT. — Это подзапрос. Неопасно, если не вложен в WHERE. — А если в WHERE? — Тогда держитесь. А если коррелированный? — Тогда пишите завещание.