13.1.29 Заявление DROP TABLE
DROP [TEMPORARY] TABLE [IF EXISTS]
tbl_name [, tbl_name] ...
[RESTRICT | CASCADE]
DROP TABLE удаляет одну или несколько таблиц. У вас должен быть DROP для каждой таблицы.
Будьте осторожны с этим заявлением! Для каждой таблицы оно удаляет определение таблицы и все данные таблицы. Если таблица является разветвлённой, заявление удаляет определение таблицы, все её разделы, все данные, хранящиеся в этих разделах, и все определения разделов, связанные с удалённой таблицей.
Удаление таблицы также удаляет любые триггеры для таблицы.
DROP TABLE вызывает неявную фиксацию, за исключением использования ключевого слова TEMPORARY. См. Раздел 13.3.3, «Заявления, вызывающие неявную фиксацию».
Когда таблица удаляется, права, предоставленные конкретно для этой таблицы, не автоматически удаляются. Их необходимо удалить вручную. См. Раздел 13.7.1.4, «Заявление GRANT».
Если какие-либо таблицы, перечисленные в списке аргументов, не существуют, поведение DROP TABLE зависит от того, указано ли ключевое слово IF EXISTS:
Без
IF EXISTSзаявление удаляет все существующие указанные таблицы и возвращает ошибку, указывающую, какие несуществующие таблицы не удалось удалить.С
IF EXISTSошибка для несуществующих таблиц не возникает. Заявление удаляет все существующие указанные таблицы и генерирует диагностическое сообщениеNOTEдля каждой несуществующей таблицы. Эти сообщения могут быть отображены с помощьюSHOW WARNINGS. См. Раздел 13.7.5.40, «Заявление SHOW WARNINGS».
IF EXISTS также может быть полезно для удаления таблиц в необычных ситуациях, в которых существует файл .frm, но нет таблицы, управляемой движком хранилища. (Например, если происходит аномальный выход сервера после удаления таблицы из движка хранилища, но до удаления файла .frm.)
Ключевое слово TEMPORARY имеет следующие эффекты:
Заявление удаляет только
TEMPORARYтаблицы.Заявление не вызывает неявную фиксацию.
Права доступа не проверяются.
TEMPORARYтаблица видна только сессии, которая её создала, поэтому проверка не требуется.
Включение ключевого слова TEMPORARY — хороший способ предотвратить случайное удаление таблиц, не являющихся TEMPORARY.
Ключевые слова RESTRICT и CASCADE ничего не делают. Они разрешены для упрощения переноса из других систем баз данных.
DROP TABLE не поддерживается со всеми настройками innodb_force_recovery. См. Раздел 14.22.2, «Вынуждение восстановления InnoDB».
© 2025 Oracle
Licensed under the GPLv2 License.