删除表
用于删除一张表。
语法
DROP TABLE name [CASCADE | RESTRICT | CASCADE CONSTRAINTS]
参数
参数名称 | 描述 |
---|---|
name | 要删除表的名称。 |
描述
DROP TABLE命令用于从数据库中删除表。只有表的所有者才能删除一张表。
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 REFERENCES orders, quantity int, …);
当删除表orders时,POLARDB将进行以下操作的其中一种,这主要取决于您所指定的删除行为:
- 如果您指定了
DROP TABLE orders RESTRICT
,那么POLARDB就会报错。 - 如果您指定了
DROP TABLE orders CASCADE
,那么POLARDB将会删除表orders及表items。 - 如果您指定了
DROP TABLE orders CASCADE CONSTRAINTS
,那么POLARDB将会删除表orders,且会从表items中删除指定的外键,但不会删除表items。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论