DROP [TEMPORARY] TABLE [IF EXISTS]
    tbl_name [, tbl_name] ...
    [RESTRICT | CASCADE]

DROP TABLE用于取消一个或多个表。您必须有每个表的DROP权限。所有的表数据和表定义会被取消,所以使用本语句要小心!

注意,对于一个带分区的表,DROP TABLE会永久性地取消表定义,取消各分区,并取消储存在这些分区中的所有数据。DROP TABLE还会取消与被取消的表有关联的分区定义(.par)文件。

对与不存在的表,使用IF EXISTS用于防止错误发生。当使用IF EXISTS时,对于每个不存在的表,会生成一个NOTE。请参见13.5.4.22节,“SHOW WARNINGS语法”

RESTRICTCASCADE可以使分区更容易。目前,RESTRICTCASCADE不起作用。

注释:除非您使用TEMPORARY关键词,DROP TABLE会自动提交当前的有效的事务。

TEMPORARY关键词具有以下作用:

·         语句只取消TEMPORARY表。

·         语句不会终止正在进行中的事务。

·         不会查验存取权。(TEMPORARY表仅对于创建该表的客户端是可见的,所以查验是不必要的。)

使用TEMPORARY是确保您不会意外取消一个非TEMPORARY表的良好方法。