跳到主要内容

DROP-TABLE

描述

该语句用于删除 Table。

语法

DROP TABLE [IF EXISTS] [<db_name>.]<table_name> [FORCE];

必选参数

1.<table_name>

指定表的标识符(即名称),在其所在的数据库(Database)中必须唯一。

标识符必须以字母字符(如果开启 unicode 名字支持,则可以是任意语言文字的字符)开头,并且不能包含空格或特殊字符,除非整个标识符字符串用反引号括起来(例如My Object)。

标识符不能使用保留关键字。

有关更多详细信息,请参阅标识符要求和保留关键字。

可选参数

1.<db_name>

指定数据库的标识符(即名称)。

标识符必须以字母字符(如果开启 unicode 名字支持,则可以是任意语言文字的字符)开头,并且不能包含空格或特殊字符,除非整个标识符字符串用反引号括起来(例如My Database)。

标识符不能使用保留关键字。

有关更多详细信息,请参阅标识符要求和保留关键字。

2.FORCE

如果指定,则系统不会检查该表是否存在未完成的事务,表将直接被删除并且不能被恢复,一般不建议执行此操作。

权限控制

执行此 SQL 命令的用户必须至少具有以下权限:

权限(Privilege)对象(Object)说明(Notes)
Drop_priv表(Table)DROP TABLE 属于表 DROP 操作

注意事项

  • 执行 DROP TABLE 一段时间内,可以通过 RECOVER 语句恢复被删除的表。详见 RECOVER 语句。
  • 如果执行 DROP TABLE FORCE,则系统不会检查该表是否存在未完成的事务,表将直接被删除并且不能被恢复,一般不建议执行此操作。

示例

  1. 删除一个 Table

    DROP TABLE my_table;
  2. 如果存在,删除指定 Database 的 Table

    DROP TABLE IF EXISTS example_db.my_table;
  3. 如果存在,删除指定 Database 的 Table,强制删除

    DROP TABLE IF EXISTS example_db.my_table FORCE;