DROP TABLE
是用于删除表的 DDL 命令。
DROP TABLE
一直存在于 PostgreSQL 中。
更改历史记录
- PostgreSQL 9.3
DROP TABLE IF EXISTS ...
如果指定了不存在的模式,则不再以ERROR
失败(提交 7e2322df)
- PostgreSQL 8.2
DROP TABLE IF EXISTS ...
语法已添加(提交 daea4d8e)
- PostgreSQL 7.3
CASCADE
和RESTRICT
子句已添加(提交 131f801d)
示例
DROP TABLE
的基本执行示例
postgres=# DROP TABLE foo; DROP TABLE postgres=# DROP TABLE foo, bar; DROP TABLE
删除具有依赖项的表
postgres=# DROP TABLE bar; ERROR: cannot drop table bar because other objects depend on it DETAIL: constraint baz_id_fkey on table baz depends on table bar HINT: Use DROP ... CASCADE to drop the dependent objects too. postgres=# DROP TABLE bar CASCADE; NOTICE: drop cascades to constraint baz_id_fkey on table baz DROP TABLE
尝试删除不存在的表
postgres=# DROP TABLE foo; ERROR: table "foo" does not exist
安全地尝试删除可能不存在的表
postgres=# DROP TABLE if exists foo; NOTICE: table "foo" does not exist, skipping DROP TABLE
参考
- PostgreSQL 文档: DROP TABLE