Команда ALTER предоставляет способ изменить структуру существующей таблицы, то есть такие изменения, как удаление или добавление столбцов, изменение индексов, изменение типов данных или изменение имен. ALTER также ожидает применения изменений, когда активна блокировка метаданных.
Использование ALTER для изменения столбцов
ALTER в сочетании с DROP удаляет существующий столбец. Тем не менее, это не удается, если столбец является единственным оставшимся столбцом.
Просмотрите пример, приведенный ниже —
mysql> ALTER TABLE products_tbl DROP version_num;
Используйте оператор ALTER … ADD для добавления столбцов —
mysql> ALTER TABLE products_tbl ADD discontinued CHAR(1);
Используйте ключевые слова FIRST и AFTER, чтобы указать расположение столбца —
ALTER TABLE products_tbl ADD discontinued CHAR(1) FIRST; ALTER TABLE products_tbl ADD discontinued CHAR(1) AFTER quantity;
Обратите внимание, что ключевые слова FIRST и AFTER применяются только к операторам ALTER … ADD. Кроме того, вы должны удалить таблицу, а затем добавить ее, чтобы изменить положение.
Измените определение или имя столбца, используя предложение MODIFY или CHANGE в инструкции ALTER. Предложения имеют схожие эффекты, но используют существенно другой синтаксис.
Просмотрите пример ИЗМЕНЕНИЯ, приведенный ниже —
mysql> ALTER TABLE products_tbl CHANGE discontinued status CHAR(4);
В операторе CHANGE укажите исходный столбец, а затем новый столбец, который заменит его. Посмотрите пример MODIFY ниже —
mysql> ALTER TABLE products_tbl MODIFY discontinued CHAR(4);
Команда ALTER также позволяет изменять значения по умолчанию. Просмотрите пример —
mysql> ALTER TABLE products_tbl ALTER discontinued SET DEFAULT N;
Вы также можете использовать его для удаления ограничений по умолчанию, связав его с предложением DROP —
mysql> ALTER TABLE products_tbl ALTER discontinued DROP DEFAULT;
Использование ALTER для изменения таблиц
Измените тип таблицы с помощью предложения TYPE —
mysql> ALTER TABLE products_tbl TYPE = INNODB;
Переименуйте таблицу с помощью ключевого слова RENAME —