Полный цикл в digital

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

Если таблица уже была ранее создана, и ее необходимо изменить, то для этого применяется команда ALTER TABLE. Ее сокращенный формальный синтаксис:

-- добавление нового столбца
ALTER TABLE название_таблицы
ADD название_столбца тип_данных_столбца атрибуты_столбца

-- удаление столбца
ALTER TABLE название_таблицы
DROP COLUMN название_столбца

-- изменение значения по умолчанию
ALTER TABLE название_таблицы
ALTER COLUMN название_столбца SET DEFAULT значение_по_умолчанию;

-- изменение типа столбца
ALTER TABLE название_таблицы
MODIFY COLUMN название_столбца тип_данных_столбца атрибуты_столбца

-- добавление внешнего ключа
ALTER TABLE название_таблицы
ADD CONSTRAINT имя_ограничения
FOREIGN KEY(название_столбца) REFERENCES название_таблицы(название_столбца);

-- удаление внешнего ключа
ALTER TABLE название_таблицы
DROP FOREIGN KEY имя_ограничения

-- добавление первичного ключа
ALTER TABLE название_таблицы
ADD PRIMARY KEY (название_столбца)

-- удаление первичного ключа
ALTER TABLE название_таблицы
DROP PRIMARY KEY

Вообще данная команда поддерживает гораздо больше опций и возможностей. Все их можно посмотреть в документации. Рассмотрим лишь основные сценарии, с которыми мы можем столкнуться.

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

Добавим в таблицу Customers новый столбец Address:

ALTER TABLE Customers
ADD Address VARCHAR(50) NULL;

В данном случае столбец Address имеет тип VARCHAR и для него определен атрибут NULL.

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

Удалим столбец Address из таблицы Customers:

ALTER TABLE Customers
DROP COLUMN Address;

Изменение значения по умолчанию

Установим в таблице Customers для столбца Age значение по умолчанию 22:

ALTER TABLE Customers
ALTER COLUMN Age SET DEFAULT 22;

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

Изменим в таблице Customers тип данных у столбца FirstName на CHAR(100) и установим для него атрибут NULL:

ALTER TABLE Customers
MODIFY COLUMN FirstName CHAR(100) NULL;

Добавление и удаление внешнего ключа

Для организации связи между таблицами используются внешние ключи. Внешний ключ представляет один или несколько столбцов из одной таблицы, который одновременно является потенциальным ключом из другой таблицы.

Пусть изначально в базе данных будут добавлены две таблицы, никак не связанные:

CREATE TABLE Customers
(
Id INT PRIMARY KEY AUTO_INCREMENT,
Age INT,
FirstName VARCHAR(20) NOT NULL,
LastName VARCHAR(20) NOT NULL
);
CREATE TABLE Orders
(
Id INT PRIMARY KEY AUTO_INCREMENT,
CustomerId INT,
CreatedAt Date
);

Добавим ограничение внешнего ключа к столбцу CustomerId таблицы Orders:

ALTER TABLE Orders
ADD FOREIGN KEY(CustomerId) REFERENCES Customers(Id);

При добавлении ограничений мы можем указать для них имя, используя оператор CONSTRAINT, после которого указывается имя ограничения:

ALTER TABLE Orders
ADD CONSTRAINT orders_customers_fk
FOREIGN KEY(CustomerId) REFERENCES Customers(Id);

В данном случае ограничение внешнего ключа называется orders_customers_fk. Затем по этому имени мы можем удалить ограничение:

ALTER TABLE Orders
DROP FOREIGN KEY orders_customers_fk;

Добавление и удаление первичного ключа

Добавим в таблицу Products первичный ключ:

CREATE TABLE Products
(
Id INT,
Model VARCHAR(20)
);

ALTER TABLE Products
ADD PRIMARY KEY (Id);

Теперь удалим первичный ключ:

ALTER TABLE Products
DROP PRIMARY KEY;
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг