Mysql как изменить имя столбца

MySQL — популярная система управления базами данных, которая составляет основу огромной части современного Интернета. MySQL — это СУБД с открытым исходным

На чтение 4 мин Просмотров 2.5к. Опубликовано 29.11.2021

MySQL — популярная система управления базами данных, которая составляет основу огромной части современного Интернета. MySQL — это СУБД с открытым исходным кодом (система управления реляционными базами данных), разработанная и поддерживаемая Oracle, с моделью клиент-сервер. Он предлагает безопасное хранилище базы данных, высокую производительность и мощные функции.

В этом руководстве будет показано, как переименовать столбец в MySQL.

Содержание

  1. Переименование столбца в MySQL
  2. Базовая структура
  3. Переименование столбца таблицы
  4. Переименование таблиц
  5. Переименование нескольких таблиц
  6. Заключение

Переименование столбца в MySQL

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

Для демонстрации я буду использовать этот образец базы данных. Это очень большая база данных, которой должно хватить практически для любой тестовой ситуации. Для удобства я буду использовать phpMyAdmin для доступа к базе данных и выполнения запросов. Узнайте больше об установке и настройке phpMyAdmin и MySQL.

Узнайте больше об установке и настройке phpMyAdmin и MySQL

Базовая структура

Чтобы переименовать столбец, структура запроса будет выглядеть следующим образом.

ALTER TABLE <table_name> CHANGE <old_column_name> <new_column_name> <data_type>

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

ALTER TABLE <table_name> CHANGE <old_column_name_1> <new_column_name_1> <data_type_1>, CHANGE <old_column_name_2> <new_column_name_2> <data_type_2>

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

RENAME TABLE <old_table_name> TO <new_table_name>

Вы также можете переименовать несколько таблиц за один раз.

RENAME TABLE <old_table_1> TO <new_table_name_1>, <old_table_name_2> TO <new_table_name_2>

MySQL также позволяет использовать RENAME между несколькими базами данных.

RENAME TABLE <current_database>.<table_name> TO <other_database>.<table_name>

Переименование столбца таблицы

Давайте посмотрим на пример таблицы базы данных стран.

SELECT * from countries;

Давайте посмотрим на пример таблицы базы данных

Из этой таблицы давайте переименуем country_name (varchar (40)) в country_label (varchar (40)). Запрос будет выглядеть примерно так.

ALTER TABLE countries CHANGE country_name country_label varchar(40);

Проверьте изменение.

SHOW COLUMNS FROM countries;

Переименование нескольких столбцов
В следующем примере мы будем переименовывать несколько столбцов в таблице стран. Изменение Давайте country_id к COUNTRY_CODE, country_label к COUNTRY_NAME и region_id в регионе-_code.

ALTER TABLE countries
CHANGE country_id country_code char(2),
CHANGE country_label country_name varchar(40),
CHANGE region_id region_code int;

Проверьте изменения.

SHOW COLUMNS FROM countries;

Изменение Давайте country_id

Переименование таблиц

Теперь попробуем переименовать таблицу. Мы переименуем таблицу » страны» в » независимые_регионы». Во-первых, обратите внимание на текущие имена таблиц.

Выполните следующий запрос, чтобы переименовать целевую таблицу.

RENAME TABLE countries TO independent_regions;

следующий запрос, чтобы переименовать

Проверьте изменение.

$ SHOW TAB

Переименование нескольких таблиц

Теперь давайте попробуем изменить имена нескольких таблиц одновременно. Запишите все текущие таблицы.

Затем выполните следующий запрос.

RENAME TABLE
countries TO independent_regions,
jobs TO assigned_tasks,
departments TO sections;

Проверьте изменения.

Заключение

Поздравляю! Вы успешно переименовали существующий столбец в MySQL. В этом руководстве также показано переименование существующей таблицы. Как для переименования столбцов, так и для таблиц вам необходимо понимать основы оператора ALTER TABLE.

Каждая таблица MySQL основана на ключевом дизайне. В терминологии MySQL это называется схемой. Он содержит необходимые данные о схеме размещения данных в таблице.

It may often happen that, we see a requirement to change the name of the column in the database to serve their purpose. With the help of SQL or Structured Query Language, the Database Administrators store, update, manipulate and retrieve data in relational databases. So, in this article let us understand how to rename a column name in SQL.

SQL-Rename Column Name in SQL-EdurekaThe following topics will be covered in this article:

    1. What is SQL?
    2. What is RENAME command in SQL?
    3. Rename column name in MySQL, MariaDB, Oracle and PostgreSQL
    4. Rename column  name in MS SQL Server
    5. Rename table name  MySQL, MariaDB, Oracle

So let us get started then,

What is SQL?

SQL or most commonly known as SEQUEL is a Structured Query Language used for managing and accessing the databases. It is based on the English language and is designed in a way to easily retrieve, manipulate and access the data. If you wish to know more about the basics of SQL in-depth, you can refer to the article on SQL Basics. In SQL, there are various statements/ commands used to manipulate data. One such manipulation, which is quite popular in databases is renaming the column name in SQL. 

So, let us understand how to use the RENAME command in SQL.

What is RENAME command in SQL?

This command is used to change the name of a column to a new column name. It is also used to change the table to a new table name. Let us understand how to use this command in different databases. But, before that, let us consider the following table to understand all the examples:

BID BName Genre Price

1

Trick Mirror

Psychology 

200

2

Daisy Jones

Mystery

350

3

Lady in the lake

Mystery

250

4

Miracle Creek

Thriller

450

5

Disappearing Earth 

Drama

300

How to Rename column name in SQL?

Rename column name in MySQL, MariaDB, Oracle, and PostgreSQL

To rename a column name in MySQL, MariaDB, Oracle, and PostgreSQL, you can follow the below syntax:

Syntax

ALTER TABLE TableName
RENAME COLUMN OldColumnName TO NewColumnName;

Example:

Write a query to rename the column name “BID” to “BooksID”.

ALTER TABLE Books;
RENAME COLUMN BID TO BooksID;

On executing the above query, you will see the following output:

Output:

BooksID BName Genre Price

1

Trick Mirror

Psychology 

200

2

Daisy Jones

Mystery

350

3

Lady in the lake

Mystery

250

4

Miracle Creek

Thriller

450

5

Disappearing Earth 

Drama

300

You can also use the CHANGE keyword to rename a column name as follows:

Syntax

ALTER TABLE TableName
CHANGE COLUMN OldColumnName NewColumnName Data Type;

Example:

Write a query to rename the column name “BID” to “BooksID”.

ALTER TABLE Books;
CHANGE COLUMN BID BooksID INT;

On executing this query, you will see the output the same as the above output.

Rename column name in MS SQL Server

The process of renaming column name is MS SQL Server is different when compared to the other databases. In MS SQL Server, you have to use the stored procedure called sp_rename.

Syntax

sp_rename 'TableName.OldColumnName', 'New ColumnName', 'COLUMN';

Example:

Write a query to rename the column name “BID” to “BooksID”.

sp_rename 'Books.BID', 'BooksID', 'COLUMN';

The resulting output will be the same as that for the above queries. Now, that you have understood how to rename a column name in various databases, let us see how you can rename a table name.

Rename table name MySQL, MariaDB, Oracle

To rename a table name, you can use the RENAME command in SQL, in the following manner:

Syntax:

ALTER TABLE OldTableName
RENAME TO NewTableName;

Example:

ALTER TABLE Books
RENAME TO ListOfBooks;

Now, if you execute the below query to see the details in the table  ListOfBooks, you will see the following output:

Query:

SELECT * FROM ListOfBooks;
BooksID BName Genre Price

1

Tricky Mirror

Psychology 

200

2

Daisy Jones

Mystery

350

3

Lady in the lake

Mystery

250

4

Miracle Creek

Thriller

450

5

Disappearing Earth 

Drama

300

With that, we come to an end to this article on Rename column name in SQL. I hope you found this article informative. I hope you understood how to use the above commands. If you wish to learn more about MySQL and get to know this open-source relational database, then check out our MySQL DBA Certification Training which comes with instructor-led live training and real-life project experience. This training will help you understand MySQL in-depth and help you achieve mastery over the subject.

Got a question for us? Please mention it in the comments section of this article on “Rename column name in SQL” and I will get back to you.

It may often happen that, we see a requirement to change the name of the column in the database to serve their purpose. With the help of SQL or Structured Query Language, the Database Administrators store, update, manipulate and retrieve data in relational databases. So, in this article let us understand how to rename a column name in SQL.

SQL-Rename Column Name in SQL-EdurekaThe following topics will be covered in this article:

    1. What is SQL?
    2. What is RENAME command in SQL?
    3. Rename column name in MySQL, MariaDB, Oracle and PostgreSQL
    4. Rename column  name in MS SQL Server
    5. Rename table name  MySQL, MariaDB, Oracle

So let us get started then,

What is SQL?

SQL or most commonly known as SEQUEL is a Structured Query Language used for managing and accessing the databases. It is based on the English language and is designed in a way to easily retrieve, manipulate and access the data. If you wish to know more about the basics of SQL in-depth, you can refer to the article on SQL Basics. In SQL, there are various statements/ commands used to manipulate data. One such manipulation, which is quite popular in databases is renaming the column name in SQL. 

So, let us understand how to use the RENAME command in SQL.

What is RENAME command in SQL?

This command is used to change the name of a column to a new column name. It is also used to change the table to a new table name. Let us understand how to use this command in different databases. But, before that, let us consider the following table to understand all the examples:

BID BName Genre Price

1

Trick Mirror

Psychology 

200

2

Daisy Jones

Mystery

350

3

Lady in the lake

Mystery

250

4

Miracle Creek

Thriller

450

5

Disappearing Earth 

Drama

300

How to Rename column name in SQL?

Rename column name in MySQL, MariaDB, Oracle, and PostgreSQL

To rename a column name in MySQL, MariaDB, Oracle, and PostgreSQL, you can follow the below syntax:

Syntax

ALTER TABLE TableName
RENAME COLUMN OldColumnName TO NewColumnName;

Example:

Write a query to rename the column name “BID” to “BooksID”.

ALTER TABLE Books;
RENAME COLUMN BID TO BooksID;

On executing the above query, you will see the following output:

Output:

BooksID BName Genre Price

1

Trick Mirror

Psychology 

200

2

Daisy Jones

Mystery

350

3

Lady in the lake

Mystery

250

4

Miracle Creek

Thriller

450

5

Disappearing Earth 

Drama

300

You can also use the CHANGE keyword to rename a column name as follows:

Syntax

ALTER TABLE TableName
CHANGE COLUMN OldColumnName NewColumnName Data Type;

Example:

Write a query to rename the column name “BID” to “BooksID”.

ALTER TABLE Books;
CHANGE COLUMN BID BooksID INT;

On executing this query, you will see the output the same as the above output.

Rename column name in MS SQL Server

The process of renaming column name is MS SQL Server is different when compared to the other databases. In MS SQL Server, you have to use the stored procedure called sp_rename.

Syntax

sp_rename 'TableName.OldColumnName', 'New ColumnName', 'COLUMN';

Example:

Write a query to rename the column name “BID” to “BooksID”.

sp_rename 'Books.BID', 'BooksID', 'COLUMN';

The resulting output will be the same as that for the above queries. Now, that you have understood how to rename a column name in various databases, let us see how you can rename a table name.

Rename table name MySQL, MariaDB, Oracle

To rename a table name, you can use the RENAME command in SQL, in the following manner:

Syntax:

ALTER TABLE OldTableName
RENAME TO NewTableName;

Example:

ALTER TABLE Books
RENAME TO ListOfBooks;

Now, if you execute the below query to see the details in the table  ListOfBooks, you will see the following output:

Query:

SELECT * FROM ListOfBooks;
BooksID BName Genre Price

1

Tricky Mirror

Psychology 

200

2

Daisy Jones

Mystery

350

3

Lady in the lake

Mystery

250

4

Miracle Creek

Thriller

450

5

Disappearing Earth 

Drama

300

With that, we come to an end to this article on Rename column name in SQL. I hope you found this article informative. I hope you understood how to use the above commands. If you wish to learn more about MySQL and get to know this open-source relational database, then check out our MySQL DBA Certification Training which comes with instructor-led live training and real-life project experience. This training will help you understand MySQL in-depth and help you achieve mastery over the subject.

Got a question for us? Please mention it in the comments section of this article on “Rename column name in SQL” and I will get back to you.

Иногда бывает, что вы создали таблицу в MySQL, но после недолгой работы обнаружили, что вам нужно внести изменения в таблицу, например:

  • добавить столбец в таблицу MySQL;

  • переименовать таблицу;

  • удалить столбец;

  • и др.

Эффективный способ осуществить все эти действия — использовать оператор «ALTER TABLE». С помощью этого оператора можно:

  • добавить столбец;

  • удалить столбец;

  • модифицировать столбец;

  • переименовать таблицу;

  • изменить кодировку таблицы;

  • добавить, убрать или изменить ограничения в таблице;

  • и др.

В сегодняшней статье мы остановимся на наиболее популярных способах использования команды «ALTER TABLE». 

Команда «ALTER TABLE»

Общий синтаксис команды «ALTER TABLE» выглядит так:

ALTER TABLE Наименование_таблицы

 { ADD наименование_нового_столбца указать_тип_информации_столбца [атрибуты_столбца] |

 DROP COLUMN наименование_столбца |

 MODIFY COLUMN наименование_столбца указать_тип_информации_столбца [атрибуты столбца] |

 ALTER COLUMN наименование_столбца SET DEFAULT назначаем_значение_по_умолчанию |

 ADD [CONSTANT] определяем_ограничения_таблицы |

 DROP [CONSTANT] задаем_название_ограничениям }

Возможностей у команды «ALTER TABLE» намного больше, но не все они используются на практике, поэтому остановимся на тех, которые могут часто встретиться.

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

Представим, что у вас есть таблица MySQL с какой-то информацией под названием «MyTable», куда нужно добавить столбец «NewColumn». Код будет таким:

ALTER TABLE MyTable

ADD NewColumn VARCHAR(60) NULL;

В коде мы создали новый столбец «MyTable» с типом данных «VARCHAR» и атрибутом «NULL».

Добавить столбец в таблицу MySQL — не проблема. Однако это может стать проблемой, когда таблица далеко не новая и заполнена большим объемом информации, особенно когда таблица содержит очень много строк. Поэтому добавление столбцов нужно использовать с осторожностью, чтобы не навредить. Если таблица новая, тогда проблем возникнуть не должно.

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

Чуть выше мы добавили новый столбец в таблицу MySQL, теперь давайте его удалим. Таким же способом можно удалить любой столбец таблицы. Для этого будем использовать следующий код:

ALTER TABLE MyTable

DROP COLUMN NewColumn

MySQL: как изменить значение столбца по умолчанию

Представим, что в добавленном столбце нужно изменить значение по умолчанию, в нашем случае это будет число «35». Для этого будем использовать такой код:

ALTER TABLE MyTable

ALTER COLUMN NewColumn SET DEFAULT 35;

MySQL: как изменить тип столбца

Иногда нужно поменять тип информации, сохраняемой в столбце. В нашем случае мы при добавлении столбца указали тип данных «VARCHAR». Теперь давайте сменим его на «CHAR(90)», но оставим тот же атрибут «NULL». Код будет таким:

ALTER TABLE MyTable

MODIFY COLUMN NewColumn CHAR(90) NULL;

MySQL: как переименовать столбец таблицы

Допустим, мы хотим название нашего столбца «NewColumn» поменять на другое название «OldColumn». В этом случае нам поможет вот такой код:

ALTER TABLE MyTable

RENAME COLUMN NewColumn TO OldColum

С переименованием столбцов таблицы нужно быть осторожными, потому что, если с этим столбцом была настроена какая-то зависимость, тогда она будет нарушена, а потому повлечет дальнейшие проблемы в работе с базой данных. Поэтому для переименования столбцов таблицы лучше всего использовать инструмент рефакторинга, который управляет зависимостями и обновит их при переименовании столбца этим инструментом. 

MySQL: как переименовать таблицу

Метод «ALTER TABLE» хорош тем, что он работает не только «внутри» таблицы, но и с самой таблицей. Например, с его помощью можно переименовать таблицу MySQL. В нашем случае название «MyTable» мы поменяем на «GoodTable». Вот как это делается в коде:

ALTER TABLE MyTable RENAME TO GoodTable 

Заключение

Сегодня мы разобрали, как довольно просто можно:

  • добавить столбец в таблицу MySQL;

  • переименовать таблицу MySQL;

  • удалить столбец из таблицы MySQL;

  • и др.

В других СУБД команда «ALTER TABLE» может не работать или работать некорректно, поэтому лучше перед ее применением изучить официальную документацию вашей СУБД.

В этом учебном пособии вы узнаете, как использовать 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.
Например:

ALTER TABLE contacts

  ADD last_name varchar(40) NOT NULL

    AFTER contact_id,

  ADD first_name varchar(35) NULL

    AFTER last_name;

Этот пример ALTER TABLE добавит в таблицу contacts два столбца — last_name и first_name.

Поле last_name будет создано как столбец varchar (40) NOT NULL и появится в таблице contacts после столбца contact_id. Столбец first_name будет создан как столбец NULL varchar (35) и появится в таблице после столбца last_name.

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

Синтаксис

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

ALTER TABLE table_name
MODIFY column_name column_definition
[ FIRST | AFTER column_name ];

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

Пример

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

ALTER TABLE contacts

  MODIFY last_name varchar(50) NULL;

Этот пример ALTER TABLE изменит столбец с именем last_name как тип данных varchar (50) и установит для столбца значения NULL.

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

Синтаксис

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

ALTER TABLE table_name
MODIFY column_name column_definition
[ FIRST | AFTER column_name ],
MODIFY column_name column_definition
[ FIRST | AFTER column_name ],

;

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

Пример

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

ALTER TABLE contacts

  MODIFY last_name varchar(55) NULL

    AFTER contact_type,

  MODIFY first_name varchar(30) NOT NULL;

Этот пример ALTER TABLE будет изменять в таблице contacts два столбца — last_name и first_name.
Поле last_name будет изменено на столбец NULL varchar (55) и появится в таблице после столбца contact_type. Столбец first_name будет изменен на столбец varchar (30) NOT NULL (и не изменит позицию в определении таблицы contacts, так как не указано FIRST | AFTER).

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

Синтаксис

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

ALTER TABLE table_name
DROP COLUMN column_name;

table_name — имя таблицы для изменения.
column_name — имя столбца для удаления из таблицы.

Пример

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

ALTER TABLE contacts

  DROP COLUMN contact_type;

Этот пример ALTER TABLE удаляет столбец с именем contact_type из таблицы contacts.

Переименование столбца в таблице

Синтаксис

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

ALTER TABLE table_name
CHANGE COLUMN old_name new_name
column_definition
[ FIRST | AFTER column_name ];

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

Пример

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

ALTER TABLE contacts

  CHANGE COLUMN contact_type ctype

    varchar(20) NOT NULL;

Этот MySQL пример ALTER TABLE переименует столбец с именем contact_type в ctype. Столбец будет определен как столбец varchar (20) NOT NULL.

Переименовать таблицу

Синтаксис

Синтаксис для переименования таблицы в MySQL:

ALTER TABLE table_name
RENAME TO new_table_name;

table_name — таблица для переименования.
new_table_name — новое имя таблицы для использования.

Пример

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

ALTER TABLE contacts

  RENAME TO people;

Этот пример ALTER TABLE переименует таблицу contacts в people.

Узнайте как использовать оператор ALTER TABLE в распространенных БД:

  • ALTER TABLE Oracle PL/SQL
  • ALTER TABLE SQL Server
  • ALTER TABLE PostgreSQL
  • ALTER TABLE MariaDB
  • ALTER TABLE SQLite

Команда ALTER TABLE в MySQL

Команда ALTER TABLE используется для осуществления изменений таблицы:

  • Добавление колонок
  • Удаление колонок
  • Модификация колонок
  • Изменения имени таблицы
  • Изменения кодировки таблицы
  • Добавление и удаление ограничений

Для дальнейших примеров будем использовать таблицу books из базы данных Bookstore, которую создали в одном из предыдущих постов.

Чтобы просмотреть изменения колонок в таблице, воспользуйтесь командой:
SHOW COLUMNS FROM table_name;

Перед началом работ выберем базу данных, с которой будем работать.

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

Синтаксис добавления колонки в таблицу:

ALTER TABLE table_name ADD column_name data_type attributes;

Для примера добавим к таблице books колонку с именем discount, в которой будет хранится процент скидки на книги и amount для хранения количества книг.

Можно добавлять, удалять и модифицировать сразу несколько колонок за раз.

ALTER TABLE books ADD discount TINYINT UNSIGNED, ADD amount SMALLINT UNSIGNED;

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

Добавим колонку shelf_position сразу после колонки price.

ALTER TABLE books ADD shelf_position VARCHAR(20) AFTER Price;

Как удалить колонку из таблицы MySQL?

Синтаксис удаления колонки из таблицы:

ALTER TABLE table_name DROP column_name;

Если в таблице осталась только одна колонка, то ее удалить нельзя.

Удалим колонку edition с номером издания книги.

ALTER TABLE books DROP edition;

Как переставить колонки в таблице MySQL?

Чтобы переставить колонку используйте команду AFTER, также понадобится повторно определить тип данных.

ALTER TABLE table_name MODIFY COLUMN column_name data_type AFTER column_after_name;

Переместим колонку с ценой Price на место после колонки Author:

ALTER TABLE books MODIFY COLUMN Price DECIMAL(15,2) AFTER Author;

Как изменить имя и тип данных у колонки в таблице MySQL? 

Синтаксис смены имени и типа данных у колонки:

ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name new_data_type;

Сменим имя у колонки сreation_date на entry_date и тип данных c TIMESTAMP на DATE.

ALTER TABLE books CHANGE COLUMN creation_date entry_date DATE;

Если вы хотите сменить только тип данных, оставив имя колонки прежним, то воспользуйтесь следующим синтаксисом:

ALTER TABLE table_name MODIFY COLUMN column_name new_data_type;

Как изменить значение по умолчанию в колонке таблицы MySQL?

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

Синтаксис установки значения по умолчанию для колонки:

ALTER TABLE table_name ALTER column_name SET DEFAULT value;

Установим для колонки discount значение по умолчанию:

ALTER TABLE books ALTER discount SET DEFAULT 0;

Чтобы удалить значение по умолчанию, используйте синтаксис:

ALTER TABLE table_name ALTER column_name DROP DEFAULT;

Удалим созданное значение по умолчанию для колонки discount:

ALTER TABLE books ALTER dicount DROP DEFAULT;

Как изменить имя таблицы MySQL?

Синтаксис переименования таблицы:

ALTER TABLE table_name RENAME TO new_table_name;

Изменим имя таблицы books на books_collection;

ALTER TABLE books RENAME TO books_collection;

Как изменить метаданные о таблице в MySQL?

С помощью команды ALTER можно также изменить некоторые метаданные о таблице.

Для начала давайте их выведем.

SHOW TABLE STATUS LIKE ‘books’G;

Вывод для таблицы books будет выглядеть следующим образом.

mysql> SHOW TABLE STATUS LIKE 'books'G;
*************************** 1. row ***************************
           Name: books
         Engine: InnoDB
        Version: 10
     Row_format: Compact
           Rows: 24
 Avg_row_length: 682
    Data_length: 16384
Max_data_length: 0
   Index_length: 0
      Data_free: 5242880
 Auto_increment: 25
    Create_time: 2019-01-18 20:00:32
    Update_time: NULL
     Check_time: NULL
      Collation: utf8_general_ci
       Checksum: NULL
 Create_options:
        Comment: 
1 row in set (0.00 sec)

mysql>

Для примера мы можем изменить тип движка таблиц:

ALTER TABLE books TYPE = MYISAM;

И добавить комментарий к таблице:

ALTER TABLE books COMMENT = ‘Список продаваемых книг.’;

Понравилась статья? Поделить с друзьями:
  • Mysql импорт ошибка
  • Mysql выдает ошибку
  • Mysql workbench ssl connection error ssl is required
  • Mysql workbench error while loading image
  • Mysql workbench error log