用于删除一张表。
语法
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 CASCADE
或DROP TABLE orders CASCADE CONSTRAINTS
,那么PolarDB将会删除表orders,且会从表items中删除指定的外键,但不会删除表items。
该文章对您有帮助吗?