Изменение структуры существующих таблиц с помощью DDL

Изменение структуры существующих таблиц в реляционных базах данных осуществляется с помощью SQL-команд Data Definition Language (DDL). Вот основные операции и команды, которые можно использовать для изменения структуры таблиц:

Изменение структуры таблицы:

Добавление нового столбца:

ALTER TABLE имя_таблицы ADD имя_столбца тип_данных [опции];

Пример:

ALTER TABLE employees ADD hire_date DATE;

Удаление столбца:

ALTER TABLE имя_таблицы DROP COLUMN имя_столбца;

Пример:

ALTER TABLE employees DROP COLUMN hire_date;

Изменение типа данных столбца:

ALTER TABLE имя_таблицы MODIFY имя_столбца новый_тип_данных;

Пример:

ALTER TABLE employees MODIFY salary DECIMAL(10, 2);

В MySQL и PostgreSQL:

ALTER TABLE table_name
MODIFY COLUMN column_name new_data_type;

Пример для PostgreSQL:

ALTER TABLE Employees
ALTER COLUMN first_name TYPE VARCHAR(100);

Пример для MySQL:

ALTER TABLE Employees
MODIFY COLUMN first_name VARCHAR(100);

Переименование столбца:

В MySQL:

ALTER TABLE имя_таблицы CHANGE старое_имя_столбца новое_имя_столбца тип_данных;

Пример:

ALTER TABLE employees CHANGE name full_name VARCHAR(100);

В PostgreSQL:

ALTER TABLE имя_таблицы RENAME COLUMN старое_имя TO новое_имя;

Пример:

ALTER TABLE employees RENAME COLUMN name TO full_name;

Изменение ограничений:

Добавление ограничения:

ALTER TABLE имя_таблицы ADD CONSTRAINT имя_ограничения тип_ограничения (столбец);

Пример:

ALTER TABLE employees ADD CONSTRAINT unique_email UNIQUE (email);

Удаление ограничения:

ALTER TABLE имя_таблицы DROP CONSTRAINT имя_ограничения;

Пример:

ALTER TABLE employees DROP CONSTRAINT unique_email;

Изменение ограничения:

Для изменения ограничений необходимо сначала удалить существующее ограничение, а затем добавить новое.

Переименование таблицы:

В MySQL:

RENAME TABLE старое_имя_таблицы TO новое_имя_таблицы;

В PostgreSQL:

ALTER TABLE старое_имя_таблицы RENAME TO новое_имя_таблицы;

Эти команды позволяют гибко управлять структурой таблиц и поддерживать целостность данных в базе данных.

Last updated