Для чего используется оператор ALTER TABLE в SQL?

«Для чего используется оператор ALTER TABLE в SQL?» — вопрос из категории Базы данных и SQL, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

ALTER TABLE — это оператор языка SQL, предназначенный для изменения структуры существующей таблицы без необходимости её удаления и повторного создания.

Основные применения:

  • Изменение схемы таблицы: добавление, удаление или переименование столбцов.
  • Изменение типов данных: модификация типа данных существующего столбца.
  • Управление ограничениями (constraints): добавление или удаление первичных ключей (PRIMARY KEY), внешних ключей (FOREIGN KEY), уникальных (UNIQUE) и проверочных (CHECK) ограничений.
  • Изменение свойств таблицы: например, переименование самой таблицы.

Примеры (синтаксис может незначительно отличаться в разных СУБД):

-- Добавить новый столбец
ALTER TABLE employees ADD COLUMN hire_date DATE;

-- Удалить столбец
ALTER TABLE employees DROP COLUMN middle_name;

-- Изменить тип данных столбца
ALTER TABLE employees ALTER COLUMN salary TYPE DECIMAL(10,2);

-- Добавить ограничение NOT NULL
ALTER TABLE employees ALTER COLUMN email SET NOT NULL;

-- Добавить внешний ключ
ALTER TABLE orders ADD CONSTRAINT fk_customer_id
FOREIGN KEY (customer_id) REFERENCES customers(id);

Почему это важно: ALTER TABLE позволяет гибко адаптировать структуру базы данных к изменяющимся требованиям приложения, сохраняя при этом существующие данные.