Как добавить столбец в таблицу 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;
Как добавить столбец в таблицу sql
Чтобы добавить столбец, еще его называют полем, в таблицу, используется запрос под названием ALTER . Лучше сразу перейти к наглядному примеру.
-- в таблице "games" -- добавить столбец с именем "price" и типом "int" ALTER TABLE games ADD COLUMN price int;
07 сентября 2023
Здравствуй те. Спасибо за информацию. У меня один вопрос. ALTER TABLE tb_site ADD COLUMN sites_wm varchar(12); Строка sites_wm varchar(12) добавится в самый конец, можно ли изменить её местонахождение и скажем расположить пятой с верху или в этом запросе этого сделать нельзя!? Тогда подскажите как перемещать строки, если их скажем штук 15 и мне нужно сделать сортировку что то поднять что то опустить. Да я могу качнуть Таблицу и отредактировать это отдельно. Но может это возможно сделать прямо в базе данных .
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;
Как добавить столбец в таблицу 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);

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

Помимо вывода всех столбцов в таблице команда DESCRIBE также отображает типы данных столбцов а также наличие первичных и внешних ключей.
Добавление одного столбца в таблицу
Для того чтобы добавить столбец в таблицу MySQL не задавая порядок (при отсутствии порядка новый созданный столбец будет помещен в самый конец таблицы, в данном примере новый столбец с именем name будет находиться после столбца с именем id) необходимо выполнить следующую команду:
ALTER TABLE personal_information ADD COLUMN name VARCHAR(50) NOT NULL;

Добавление нескольких столбцов в таблицу
Для добавления двух и более столбцов необходимо воспользоваться той же командой 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;

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

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

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

Для того чтобы добавить новый столбец после определенного столбца необходимо добавить параметр AFTER после которого следует имя уже присутствующего столбца в таблице. Команда будет выглядеть следующим образом:
ALTER TABLE personal_information ADD COLUMN country VARCHAR(100) AFTER last_name;

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