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» может не работать или работать некорректно, поэтому лучше перед ее применением изучить официальную документацию вашей СУБД.

Схожие статьи

SQL

Как обновить SQL Server правильно, чтобы ничего не поломать

SQL

Опeратор Between в Oracle SQL: включает границы или нет. Примеры использования

SQL

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

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

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

×