SQL

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

Lorem ipsum dolor

Иногда бывает, что вы создали таблицу в 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 на Python: создание на SQLite3
SQL

Подключение к базе данных MySQL на Python: создание на SQLite3

SQL

Как восстановить базу данных MySQL из дампа быстро и просто

Что такое MariaDB, где используется эта система управления
SQL

Что такое MariaDB, где используется эта система управления

SQL и NoSQL: что это, разбираемся в основных моделях баз данных
SQL

SQL и NoSQL: что это, разбираемся в основных моделях баз данных

×