Изменить структуру таблицы ALTER TABLE.
ALTER [IGNORE] TABLE table_name change_specific1 [, change_specific2 ...]
Команда ALTER TABLE позволяет менять структуру указанной таблицы, существующей в текущей базе данных. Использование команды требует привилегий CREATE, ALTER, INSERT на таблицу table_name. Изменения, вносимые в структуру таблицы, определяются в предложении change_specific1 [, change_specific2 ...], каждый элемент которого представляет собой одну из следующих альтернатив:
ADD [COLUMN] column_definition [FIRST | AFTER column_name] или ADD [COLUMN] (column_definition1, column_definition2,...) или ADD INDEX [index_name] (index_column_name,...) или ADD PRIMARY KEY (index_column_name,...) или ADD UNIQUE [index_name] (index_column_name,...) или ADD FULLTEXT [index_name] (index_column_name,...) или ADD [CONSTRAINT sym] FOREIGN KEY index_name (index_column_name,...) [ref_determination] или CHANGE [COLUMN] old_column_name column_definition [FIRST | AFTER column_name] или MODIFY [COLUMN] column_definition [FIRST | AFTER column_name] или DROP [COLUMN] column_name или DROP PRIMARY KEY или DROP INDEX index_name или DISABLE KEYS или ENABLE KEYS или RENAME [TO] new_table_name или ORDER BY column или table_options
Ключевое слово IGNORE применяется в расширении MySQL для ANSI SQL92 и делает возможным анализ наличия повторов уникальных ключей в модифицированной таблице. Если слово IGNORE присутствует в команде, то в случае, когда уникальные ключи повторяются, будет использована только первая строка, остальные в модифицированную таблицу записаны не будут.
Выражения column_definition (а также column_definition1, column_definition2,...) имеют тот же синтаксис, что и для команды CREATE TABLE.
Если с помощью опций CHANGE или MODIFY производиться уменьшение длины столбца, следует помнить, что длина столбца не должна быть меньше, чем количество проиндексированных символов. Например, если по первым 15 символам столбца типа VARCHAR построен индекс, то длину такого столбца нельзя сделать меньше, чем 15. При добавлении столбца в таблицу по умолчанию он будет добавлен в конец. Однако, используя ключевые слова FIRST и AFTER можно задать конкретную позицию для добавляемого столбца.
Чтобы просто переименовать столбец, не меняя его типа, с помощью опции CHANGE, нужно указать старое имя столбца, затем новое имя и его тип (см. Пример 1)
Пример 1: ALTER TABLE table_site CHANGE column_site_OLD column_site_NEW INTEGER;
Пример 2: ALTER TABLE table_site DROP COLUMN column_site;
Пример 3: CREATE TABLE table_site1 (column_site1 INTEGER, column_site2 CHAR(10)); ALTER TABLE table_site1 RENAME table_site2;
Пример 4: ALTER TABLE table_site ADD column_site TIMESTAMP;
Пример 5: ALTER TABLE table_site ADD INDEX (column_site1), ADD PRIMARY KEY (column_site2);
Пример 6: ALTER TABLE table_site ADD column_site INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (column_site1);
Вернуться к оглавлениюТип данных используемый в MySQL. Создать базу данных CREATE DATABASE. Добавить данные в таблицу INSERT. Извлечение данных из таблицы SELECT. Удалить таблицу DROP TABLE. Создать таблицу CREATE TABLE. Обновить данные UPDATE. Удалить данные из таблицы DELETE. Изменить структуру таблицы ALTER TABLE. Операторы и функции общего назначения. Неявное и явное приведение типов в MySQL. Функции даты и времени. Строковые функции. Числовые функции и операции. Функции сравнения строк. Переменные пользователя. Идентификаторы. Команды управления транзакциями и блокировками. Другие функции. Функции для GROUP BY. Основные команды пользовательских программ MySQL. Литералы. Комментарии. Полнотекстовый поиск в MySQL. Полнотекстовый поиск в MySQL_Настройки и ограничения. Основные принципы ввода команд.
|