Skip to content

DROP TABLE

DROP TABLE — 删除表

语法

DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]

描述

DROP TABLE从数据库中删除表。只有表所有者、模式所有者和超级用户可以删除表。若要清空表中的行而不销毁表,请使用DELETETRUNCATE

DROP TABLE始终删除对目标表存在的任何索引、规则、触发器和约束。但是,要删除由另一个表的视图或外键约束引用的表,必须指定CASCADE。(CASCADE会完全删除依赖视图,但在外键情况下,它只会删除外键约束,而不会完全删除其他表。)

参数

IF EXISTS

如果表不存在,则不抛出错误。在这种情况下,会发出通知。

name

要删除的表的名称(可选的模式限定)。

CASCADE

自动删除依赖于该表的对象(例如视图),并依次删除依赖于这些对象的所有对象(请参阅第 5.14 节)。

RESTRICT

如果任何对象依赖于该表,则拒绝删除该表。这是默认设置。

示例

要销毁两个表,filmsdistributors

DROP TABLE films, distributors;

兼容性

此命令符合 SQL 标准,但该标准只允许每个命令删除一个表,除了IF EXISTS选项,这是PostgreSQL扩展。

另请参见

ALTER TABLECREATE TABLE