DROP [TEMPORARY] TABLE [IF EXISTS] имятаблицы [, имя таблицы] … [RESTRICT | CASCADE]
DROP TABLE удаляет одну или более таблиц. Вы должны иметь привилегию DROP для каждой из этих таблиц. Этим оператором удаляются все данные таблицы, а также ее определение, поэтому будьте осторожны с ним!
В MySQL 3.22 и более поздних версиях вы можете использовать ключевые слова IF EXISTS, чтобы предотвратить ошибку, вызванную попыткой удалить несуществующую таблицу. Начиная с MySQL 4.1, генерируется предупреждение о каждой несуществующей таблице, если указано IF EXISTS. См. раздел Синтаксис SHOW WARNINGS
Для облегчения переносимости допускаются слова RESTRICT и cascade. Однако на сегодняшний день они ничего не делают.
На заметку!
DROP TABLE автоматически завершает текущую активную транзакцию, если только вы не используете MySQL 4.1 и выше, а также ключевое слово TEMPORARY.
Ключевое слово TEMPORARY игнорируется в MySQL 4.O. В версии MySQL 4.1 оно дает следующий эффект:
- Оператор удаляет любые временные таблицы.
- Оператор не завершает текущую транзакцию.
- Никакие права доступа не проверяются (временные таблицы видимы только кли
енту, который их создал, поэтому никакие проверки не требуются).
Применение слова TEMPORARY – хороший способ гарантировать, что вы не удалите случайно никаких постоянных (не временных) таблиц.