Главная >> Инструкции >> Как добавить столбец в таблицу MySQL

Как добавить столбец в таблицу 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 передав ей в качестве параметра имя таблицы:

DESCRIBE personal_information;

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:

DESCRIBE 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? Расскажите в комментариях!

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

2 комментария к “Как добавить столбец в таблицу MySQL”

  1. Когда учился, делал сайт на WordPress в OpenServer, база пользователей была в бд на MySQL. А так, фигня это в сравнении с цивилизованной Microsoft SQL Server Enterprise, скачанной с торрентов на халяву.

    Ответить
  2. Привет. Напиши статью про то, как настроить Linux под пожилых родителей и какие программы им нужны?
    WhatsUp, Skypy(?) и... Что им ещё поставить? )

    Ответить

Оставьте комментарий