9.3 9.4 9.5 9.6 10 11 12 13 14 15 16 17 Current(18)
PostgreSQL中文社区 问题报告 纠错本页面

DROP TABLE

DROP TABLE — 移除表

大纲

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

说明

DROP TABLE从数据库移除表。只有表拥有者、模式拥有者和超级用户能删除一个表。 要清空一个表中的行但不销毁该表,可以使用DELETETRUNCATE

DROP TABLE总是移除目标表的任何索引、规则、触发器和约束。不过,要删除一个被视图或另一个表的外键约束所引用的表,必须指定CASCADECASCADE将会把依赖的视图也完全移除,但对于外键它将只移除外键约束,而不是完全移除其他表)。

参数

IF EXISTS

如果该表不存在则不要抛出错误,这种情况下会发出提示。

name

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

CASCADE

自动删除依赖于该表的对象(例如视图),然后删除所有依赖于那些对象的对象(见第 5.15 节)。

RESTRICT

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

示例

要销毁两个表 filmsdistributors

DROP TABLE films, distributors;

兼容性

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

另见

ALTER TABLE, CREATE TABLE