Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Инструкции DROP советы и хитрости MySQL


DROP

Платформа MySQL поддерживает в инструкции CREATE/ALTER очень ограниченное число объектов. Следовательно, синтаксис инструкции DROP также ограничен и сводится к следующему.

DROP {DATABASE | [TEMPORARY] TABLE | INDEX} имя_объекта [, …] [ON имя_таблицы] [IF EXISTS] имя_объекта [, …] [RESTRICT |CASCADE]

Синтаксические элементы следующие.

DATABASE имя _базы_данных

Удаляется указанная база данных, включая все объекты, которые она содержит, такие, как таблицы и индексы. Команда DROP DATABASE удаляет все файлы базы данных и таблиц из файловой системы, а также двухциферные поддиректории. Система MySQL возвращает сообщение, в котором указывается, сколько файлов было удалено из директории базы данных. (Удаляются файлы со следующими расширениями: (ВАК, DAT, frm, HSH, ISD, ISM, MRG, MYD, MY I, dm и fm). Если база данных является связанной, то удаляются и база данных, и связь. За один раз вы можете удалить только одну базу данных. Предложения RESTRICT и CASCADE в инструкции DROP DATABASE не применяются.

[TEMPORARY] TABLE имя_таблицы [, …]

Удаляется одна или несколько указанных таблиц, имена которых разделяются запятыми. MySQL для каждой таблицы очищает ее определение и удаляет три файла таблицы из файловой системы (frm, MYD и MYT). Выполнение данной команды влечет за собой фиксирование платформой MySQL всех активных транзакций. При указании ключевого слова TEMPORAR Y удаляются только временные таблицы, без совершения активных транзакций и проверки прав доступа.

INDEX имя_индекса ON имя_таблицы

Указанный индекс удаляется из указанной таблицы в версиях 3.22 и выше. В версиях, предшествующих 3.22, эта команда не выполняет никаких действий, а в версии 3.22 фактически неявно выполняется команда ALTER TABLE…DROP INDEX. В инструкции DROP INDEX нельзя использовать предложения RESTRICT, CASCADE и IF EXISTS. RESTRICT | CASCADE нефункциональные предложения. Эти ключевые слова не вызывают ошибки в MySQL, но они и не выполняют никаких действий.


IF EXISTS

Предотвращает появление сообщения об ошибке, если делается попытка удалить несуществующий объект. Используется в MySQL: версии 3.22 и выше. В MySQL поддерживается только удаление базы данных, таблицы (или таблиц) или индекса из таблицы. Хотя инструкция DROP не будет выдавать ошибок при использовании ключевых слов RESTRICT и CASCADE, эти предложения не выполняют никаких функций. Предложение IF EXISTS можно использовать, чтобы избежать появления ошибок при попытке удалить несуществующий объект.

Источник