Как добавить столбец в таблицу mysql
Перейти к содержимому

Как добавить столбец в таблицу mysql

  • автор:

Как добавить столбец в таблицу mysql

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

ALTER TABLE название_таблицы

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

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

Добавим в таблицу 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;

Как добавить столбец в таблицу MySQL

В СУБД MySQL, как и в других базах данных помимо добавления и извлечения данных можно изменять структуру таблиц. Одной из таких возможностей является добавление нового столбца или столбцов в уже существующую таблицу. Для добавления новых столбцов существует специальная команда — ALTER TABLE ADD COLUMN.

В качестве параметров также можно задать ротацию, т.е. выбрать после каких уже существующих столбцов в таблице необходимо добавлять новые. В данной статье будет рассмотрено как выполняется добавление столбца в таблицу MySQL версии в операционной системе Ubuntu 20.04.

Как добавить столбец в таблицу MySQL

Для добавления новых столбцов в таблицу в СУБД MySQL присутствует специальная команда — ALTER TABLE ADD COLUMN. Ниже предоставлен её синтаксис:

ALTER TABLE имя_таблицы ADD COLUMN имя_нового_столбца тип_данных [ FIRST|AFTER имя_существующего_столбца ];

Сначала указывается имя таблицы, в которую будет добавлен новый столбец. Имя идёт сразу после команды ALTER TABLE. Далее после директивы ADD COLUMN необходимо указать имя нового столбца, который будет создан и задать его тип данных. Ключевое слово COLUMN можно опустить, оно не обязательно. Также в качестве дополнительных параметров можно указать положение нового столбца в таблице. Если указать FIRST, то столбец будет создан в самом начале таблице, также можно указать расположение после специфического столбца (при условии, что он присутствует в таблице) для этого необходимо вписать ключевое слово AFTER и указать имя уже существующего столбца в таблице.

В качестве примера будет создана таблица с именем personal_information и состоящая из одного столбца с именем id. Команда для создания таблицы с одним столбцом приведена ниже:

CREATE TABLE IF NOT EXISTS personal_information (id INT AUTO_INCREMENT PRIMARY KEY);

wesmNYKpDPWLgAAAABJRU5ErkJggg==

Убедимся, что столбец успешно создан и присутствует в таблице. Для этого необходимо выполнить команду DESCRIBE передав ей в качестве параметра имя таблицы:

w9eY+8EyPzbrwAAAABJRU5ErkJggg==

Помимо вывода всех столбцов в таблице команда DESCRIBE также отображает типы данных столбцов а также наличие первичных и внешних ключей.

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

Для того чтобы добавить столбец в таблицу MySQL не задавая порядок (при отсутствии порядка новый созданный столбец будет помещен в самый конец таблицы, в данном примере новый столбец с именем name будет находиться после столбца с именем id) необходимо выполнить следующую команду:

ALTER TABLE personal_information ADD COLUMN name VARCHAR(50) NOT NULL;

AZb3PFiEcQZVAAAAAElFTkSuQmCC

Добавление нескольких столбцов в таблицу

Для добавления двух и более столбцов необходимо воспользоваться той же командой ALTER TABLE ADD COLUMN при этом перечисляя данный аргумент через запятую. В примере ниже в таблицу с именем personal_information будут добавлены 2 новых столбца с именами last_name и city так как позиция столбцов не была указана, столбцы будут добавлены в конец таблицы. Команда будет выглядеть следующим образом:

ALTER TABLE personal_information ADD COLUMN last_name VARCHAR(50) NOT NULL, ADD COLUMN city VARCHAR (100) NOT NULL;

f6XBmX5EiKcXAAAAAElFTkSuQmCC

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

Если присутствует необходимость в добавлении столбца в самое начало таблицы это можно сделать, добавив параметр FIRST в команду ALTER TABLE ADD COLUMN. Для начала выведем все столбцы таблицы с именем personal_information:

9f7qqyAabco9sAAAAAElFTkSuQmCC

Теперь необходимо добавить новый столбец с именем customer_id который должен находиться перед столбцом id. Команда для добавления данного столбца будет выглядеть следующим образом:

ALTER TABLE personal_information ADD COLUMN customer_id INT FIRST;

Iqkk3jLBro0BjwrrT48MtLEdF6Rk0Wj3qnXclG+jrE789i0QQxP43LmtHn2lOoIQKhMKIM5kFzYZm4aZ6ogiv8pzF4zIfP7V4IKGHMb5UClRvHJCAidumlWczFWNdK2a7O9UIJngGmRBfCkDLYjAVtCn0TkzSgcsS1Wz0I5UFL98P8BY3dNeyf7pckAAAAASUVORK5CYII=

Как видно на скриншоте выше новый столбец с именем customer_id был добавлен в самое начало (первым был столбец с именем id).

Добавление столбца после определённого столбца

Также создать столбец MySQL можно после определенного столбца. В качестве примера необходимо добавить новый столбец с именем country который должен находиться после столбца last_name (см. структуру таблицы ниже):

9f7qqyAabco9sAAAAAElFTkSuQmCC

Для того чтобы добавить новый столбец после определенного столбца необходимо добавить параметр AFTER после которого следует имя уже присутствующего столбца в таблице. Команда будет выглядеть следующим образом:

ALTER TABLE personal_information ADD COLUMN country VARCHAR(100) AFTER last_name;

wGuncz9muO4sQAAAABJRU5ErkJggg==

Новый созданный столбец country был добавлен после столбца last_name (см. скриншот выше).

Выводы

В данной небольшой статье была рассмотрено как добавить столбец в таблицу MySQL. Помимо этого, были описаны такие возможности добавления как добавление столбцов в самое начло таблицы и после специфического столбца. Есть ли у вас опыт работы с СУБД MySQL? Расскажите в комментариях!

ALTER TABLE оператор MySQL

В этом учебном пособии вы узнаете, как использовать MySQL оператор ALTER TABLE для добавления столбца, изменения столбца, удаления столбца, переименования столбца или переименования таблицы (с синтаксисом и примерами).

Описание

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

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

Синтаксис

Синтаксис добавления столбца в таблицу MySQL (с использованием оператора ALTER TABLE):

ALTER TABLE table_name
ADD new_column_name column_definition
[ FIRST | AFTER column_name ];

table_name — имя таблицы для изменения.
new_column_name — имя нового столбца для добавления в таблицу.
column_definition — тип данных и определение столбца (NULL или NOT NULL и т. д.).
FIRST | AFTER column_name — необязательный. Он сообщает MySQL, где в таблице создается столбец. Если этот параметр не указан, то новый столбец будет добавлен в конец таблицы.

Пример

Рассмотрим пример, который показывает, как добавить столбец в таблицу MySQL, используя оператор ALTER TABLE.
Например:

ALTER TABLE contacts
ADD last_name varchar (40) NOT NULL
AFTER contact_id;

Этот MySQL пример ALTER TABLE добавит столбец с именем last_name в таблицу contacts . Он будет создан как столбец NOT NULL и появится в таблице после поля contact_id .

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

Синтаксис

Синтаксис добавления нескольких столбцов в таблицу MySQL (с использованием оператора ALTER TABLE):

ALTER TABLE table_name
ADD new_column_name column_definition
[ FIRST | AFTER column_name ],
ADD new_column_name column_definition
[ FIRST | AFTER column_name ],
.
;

table_name — имя таблицы для изменения.
new_column_name — имя нового столбца для добавления в таблицу.
column_definition — тип данных и определение столбца (NULL или NOT NULL и т. д.).
FIRST | AFTER column_name — необязательный. Он сообщает MySQL, где в таблице создается столбец. Если этот параметр не указан, новый столбец будет добавлен в конец таблицы.

Пример

Рассмотрим пример, который показывает, как добавить несколько столбцов в таблицу MySQL, используя оператор ALTER TABLE.
Например:

MYSQL. Добавить столбец(колонку) в таблицу

Данный материал предоставлен сайтом PacificSky.Ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.

Sql запрос на добавление колонки(столбца) в таблицу базы данных MySql.

Для добавления колонки достаточно воспользоваться ALTER TABLE запросом следующего формата:

ALTER TABLE Название_таблицы ADD COLUMN Название_добавляемой_колонки Тип_колонки_и_значение_по_умолчанию AFTER Добавить_после_указанной_колонки;

Добавляем колонку password(пароль) в данную таблицу:

ALTER TABLE users ADD COLUMN password VARCHAR(255) NOT NULL AFTER login;

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *