Добавление cтолбца

Добавление новых столбцов в таблицу осуществляется с помощью предложения ADD в операторе ALTER TABLE. Синтаксис оператора ALTER TABLE:

ALTER TABLE <table_name> ADD <col_definition> [, <col_definition>,…. ]

В выражение col_definition входит имя создаваемого столбца и его описание, при этом используется тот же синтаксис, что и для CREATE TABLE. При добавлении нескольких столбцов их описания разделяются запятой.

Для удаления столбцов таблицы используется предложение DROP в инструкции ALTER TABLE:

ALTER TABLE <table name> DROP [COLUMN] <col_name>

IDevice IconПримеры

Добавить в таблицу tbl_product столбец prod_desc типа text для хранения подробного описания изделия.

SQL:
ALTER TABLE tbl_product ADD prod_desc TEXT


Предположим, что всю имеющуюся продукцию решили разбить на группы. В базу данных необходимо добавить в таблицу tbl_group с полями group_id и group_name. Целочисленное поле group_id будет определено как идентификатор и использоваться в качестве первичного ключа. В поле group_name будет хранится название группы изделий. В таблице tbl_product требуется добавить целочисленное поле prod_group, которое будет использоваться для связи с таблицей tbl_group.

MS SQL:

CREATE TABLE tbl_group (
group_id tinyint NOT NULL INDENTITY PRIMARY KEY,
group_name varchar(45) NOT NULL);

ALTER TABLE tbl_product ADD prod_group tinyint
CONSTRAINT FOREIGN KEY(prod_group) REFERENcES tbl_group (group_id)
ON DELETE SET NULL, ON UPDATE CASCADE;

MySQL:

CREATE TABLE tbl_group (
group_id tinyint UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
group_name varchar(45) NOT NULL)
ENGINE=InnoDB;

ALTER TABLE tbl_product ADD prod_group tinyint UNSIGNED,
ADD CONSTRAINT FOREIGN KEY(prod_group) REFERENcES tbl_group (group_id)
ON DELETE SET NULL, ON UPDATE CASCADE;

Удалить столбец addr в таблице tbl_clients.

SQL:
ALTER TABLE tbl_clients DROP COLUMN addr