Язык программирования PHP | страница 99




Показать все базы данных:


>mysql>SHOW databases;


Сделать текущей базу данных book и показать все таблицы в ней:


>mysql>use book;

>mysql>show tables;


Показать все столбцы в таблице Persons:


>mysql> show columns from Persons;


Оператор DROP TABLE


Оператор DROP TABLE удаляет одну или несколько таблиц. Все табличные данные и определения удаляются, так что при работе с этой командой следует соблюдать осторожность.


Синтаксис:


>DROP TABLE [IF EXISTS] имя_таблицы

> [, имя_таблицы,...]

> [RESTRICT | CASCADE]


В версии MySQL 3.22 и более поздних можно использовать ключевые слова IF EXISTS, чтобы предупредить ошибку, если указанные таблицы не существуют.


Опции RESTRICT и CASCADE позволяют упростить перенос программы с других СУБД. В данный момент они не задействованы.


>mysql> DROP TABLE IF EXISTS Persons,

> Artifacts, test;


Оператор ALTER TABLE


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


Синтаксис:


>ALTER [IGNORE] TABLE имя_таблицы

> alter_specification

> [, alter_specification ...]


Можно производить следующие изменения в таблице (все они записываются в alter_specification):


> ADD [COLUMN] определение_столбца

>[FIRST | AFTER имя_столбца ]


или


>ADD [COLUMN] (определение_столбца,


определение_столбца,...)


Здесь, как и далее, определение_столбца записывается так же, как при создании таблицы.


ADD INDEX [имя_индекса] (имя_индексируемого_столбца,...) или ADD PRIMARY KEY (имя_индексируемого_столбца,...) или ADD UNIQUE [имя_индекса] (имя_индексируемого_столбца,...) или ADD FULLTEXT [имя_индекса] (имя_индексируемого_столбца,...)


ALTER [COLUMN] имя_столбца {SET DEFAULT literal | DROP DEFAULT} или CHANGE [COLUMN] старое_имя_столбца определение_столбца или MODIFY [COLUMN] определение_столбца


> DROP [COLUMN] имя_столбца

> DROP PRIMARY KEY

> DROP INDEX имя_индекса


RENAME [TO] новое_имя_таблицы


ORDER BY поле


или


опции_таблицы


Если оператор ALTER TABLE используется для изменения определения типа столбца, но DESCRIBE имя_таблицы показывает, что столбец не изменился, то, возможно, MySQL игнорирует данную модификацию по одной из причин, описанных в специальном разделе документации. Например, при попытке изменить столбец VARCHAR на CHAR MySQL будет продолжать использовать VARCHAR, если данная таблица содержит другие столбцы с переменной длиной.