Оператор SQL Alter Table

Оператор ALTER TABLE в SQL используется для добавления, изменения или удаления столбцов таблицы.

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



SQL ALTER TABLE - Добавить новый столбец

Чтобы добавить новый столбец в существующую таблицу, мы используем синтаксис:


ALTER TABLE table_name ADD column_name datatype;

Пример

Следующий код добавляет столбец «Дата начала» в таблицу «Сотрудники»:

ALTER TABLE Employees ADD Start_Date date;

SQL ALTER TABLE - удалить столбец

Чтобы удалить столбец из существующей таблицы, мы используем синтаксис:


ALTER TABLE table_name DROP COLUMN column_name;

Пример

Следующий код удаляет столбец «Дата начала» из таблицы «Сотрудники»:

ALTER TABLE Employees DROP COLUMN Start_Date;

SQL ALTER TABLE - изменить столбец

Мы можем использовать ALTER TABLE оператор для изменения типа данных столбца с использованием синтаксиса:

ALTER TABLE table_name MODIFY column_name datatype;

Пример

Следующий код изменяет тип данных столбца «Start_Date» с date к year:

ALTER TABLE Employees MODIFY Start_Date year;

SQL ALTER TABLE - демонстрационная база данных

Предположим, у нас есть таблица под названием «Сотрудники» со следующими столбцами:


+------------+-----------+----------+ | EmployeeID | FirstName | LastName | +------------+-----------+----------+ | 1

| Mark
| Otto
| | 2

| Jacob
| Thornton | | 3

| Su
| Bird
| | 4

| Sam
| Burger | +------------+-----------+----------+

Добавить столбец

Теперь мы хотим расширить таблицу «Сотрудники» и добавить новый столбец с названием «Дата начала».

ALTER TABLE Employees ADD Start_Date date;

Выход:

+------------+-----------+----------+------------+ | EmployeeID | FirstName | LastName | Start_Date | +------------+-----------+----------+------------+ | 1

| Mark
| Otto
|

| | 2

| Jacob
| Thornton |

| | 3

| Su
| Bird
|

| | 4

| Sam
| Burger |

| +------------+-----------+----------+------------+

Изменить столбец

Затем мы хотим изменить тип данных столбца «Start_Date» с date к year:

ALTER TABLE Employees MODIFY Start_Date year;

Удалить столбец

Мы хотим удалить столбец «Дата начала» из таблицы «Сотрудники». Мы используем:


ALTER TABLE Employees DROP COLUMN Start_Date;

Выход:

+------------+-----------+----------+ | EmployeeID | FirstName | LastName | +------------+-----------+----------+ | 1

| Mark
| Otto
| | 2

| Jacob
| Thornton | | 3

| Su
| Bird
| | 4

| Sam
| Burger | +------------+-----------+----------+