Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Alter table



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

ALTER TABLE table_name alter_spec

Параметр alter_spec имеет значения, представленные в таблице

Синтаксис Описание команды
ADD create_definition [FIRST|AFTER column_name] Добавление нового столбца create_definition. create_definition представляет собой название нового столбца и его тип. Конструкция FIRST добавляет новый столбец перед столбцом column_name. Конструкция AFTER добавляет новый столбец после столбца column_name. Если место добавления не указано, по умолчанию столбец добавляется в конец таблицы.
ADD INDEX [index_name] (index_col_name,...) Добавление индекса index_name для столбца index_col_name. Если имя индекса index_name не указывается, ему присваивается имя совпадающее с именем столбца index_col_name.
ADD PRIMARY KEY (index_col_name,...) Делает столбец index_col_name или группу столбцов первичным ключом таблицы.
CHANGE old_col_name new_col_name type Изменение столбца с именем old_col_name на столбец с именем new_col_name и типом type.
DROP col_name Удаление столбца с именем col_name.
DROP PRIMARY KEY Удаление первичного ключа таблицы.
DROP INDEX index_name Удаление индекса index_name.

Добавим в таблицу forums новый столбец test, разместив его после столбца name.

mysql> ALTER TABLE forums ADD test int(10) AFTER name;

Выполнив команду DESCRIBE forums, можно увидеть, что столбец test успешно добавлен после столбца name

Давайте переименуем созданный столбец test в текстовый столбец new_test

mysql> ALTER TABLE forums CHANGE test new_test text;

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

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

mysql> ALTER TABLE forums CHANGE new_test new_test int(5) not null;

Результат выполнения этого запроса приведен на рисунке:

Теперь удалим столбец new_test:

mysql> ALTER TABLE forums DROP new_test;

Как видно из рисунка, после удаления этого столбца таблица forums приобрела исходную структуру:






Дата публикования: 2015-07-22; Прочитано: 302 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...