删除表

用于删除一张表。

语法

DROP TABLE name [CASCADE | RESTRICT | CASCADE CONSTRAINTS]

参数

参数名称

描述

name

要删除表的名称。

描述

DROP TABLE命令用于从数据库中删除表,同时删除表中的索引、规则、触发器和约束。只有表的所有者才能删除对应表。

说明
  • 包含RESTRICT关键字可指定在存在任何依赖于表的对象的情况下,服务器应拒绝将其删除。这是默认行为,DROP TABLE命令在存在任何依赖于表的对象的情况下将报告错误。

  • 包括CASCADE/CASCADE CONSTRAINTS子句来指定PolarDB删除所指定的表上的依赖限制(不包括其它对象类型)。

示例

删除表emp:

DROP TABLE emp;

执行DROP TABLE命令会产生不同的结果,这主要取决于表是否有任何依赖关系。您可以通过指定删除行为来控制DROP TABLE命令产生的结果。例如,如果您创建了两个表,表orders 和表items,其中表items依赖于表orders:

CREATE TABLE orders
  (order_id int PRIMARY KEY, order_date date, …);
CREATE TABLE items
  (order_id int REFERENCES orders, quantity int, …);            

当删除表orders时,PolarDB将进行以下操作的其中一种,这主要取决于您所指定的删除行为:

  • 如果您指定了DROP TABLE orders RESTRICT,那么PolarDB就会报错。

  • 如果您指定了DROP TABLE orders CASCADEDROP TABLE orders CASCADE CONSTRAINTS,那么PolarDB将会删除表orders,且会从表items中删除指定的外键,但不会删除表items。