SQL COMMAND · 表与视图
DROP TABLE
移除一个表
remove a table
DROP表与视图引入 6.4(基线)现存至 20 devel3 次语法变更
- 动词
DROP- 对象
TABLE- 分组
- 表与视图
- 引入版本
- 6.4(基线)
- 状态
- 现存
- 语法变更次数
- 3
- 手册小节数
- 5
版本轨迹
相对 PostgreSQL 17 无变化。
语法铁道图 PostgreSQL 18
沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。
锁模式 PostgreSQL 18
具体锁模式取决于操作变体、目标对象和执行阶段;同一命令可同时取得表锁与行锁。查看完整冲突矩阵
ACCESS EXCLUSIVE· 表级锁DROP TABLE:作用于被删除的表;依赖对象及 CASCADE 还可能取得额外锁。
语法概要
DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
描述
参数
IF EXISTS如果表不存在,则不要抛出错误。这种情况下会发出一条提示。
name要删除的表名称(可选地使用模式限定)。
CASCADE自动删除依赖于该表的对象(例如视图),以及进一步依赖于这些对象的所有对象(参见第 5.15 节)。
RESTRICT如果有任何对象依赖于该表,则拒绝删除它。这是默认值。
示例
要删除两个表 films 和 distributors:
DROP TABLE films, distributors;
兼容性
此命令符合 SQL 标准,只是标准每条命令只允许删除一个表,且 IF EXISTS 选项是 PostgreSQL 扩展。
另见
语法演化
相邻大版本之间的差异,新的在前。版本号链接到对应快照。
PostgreSQL 19← 18正文更新
正文更新PostgreSQL 17← 16正文更新
正文更新PostgreSQL 12← 11正文更新
正文更新PostgreSQL 9.6← 9.5正文更新
正文更新PostgreSQL 9.2← 9.1正文更新
正文更新PostgreSQL 8.3← 8.2正文更新
正文更新PostgreSQL 8.2← 8.1语法变化
+ DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]正文更新PostgreSQL 8.0← 7.4正文更新
正文更新PostgreSQL 7.4← 7.3正文更新
正文更新PostgreSQL 7.3← 7.2语法变化
+ DROP TABLE name [, ...] [ CASCADE | RESTRICT ]正文更新PostgreSQL 7.2← 7.1正文更新
正文更新PostgreSQL 7.1← 7.0文件改名
sql-droptable.htm → sql-droptable.html
正文更新PostgreSQL 6.5← 6.4语法变化
+ DROP TABLE name [, ...]− DROP TABLE table [, ...]正文更新
同组命令
| 命令 | 动词 | 对象 | 版本变动 | 最近变更 |
|---|---|---|---|---|
TRUNCATE | TRUNCATE | — | 8.43 次 | |
| 清空一个表或一组表 | 现存 | |||
CREATE MATERIALIZED VIEW | CREATE | MATERIALIZED VIEW | 122 次 | |
| 定义一个新物化视图 | 现存 | |||
ALTER MATERIALIZED VIEW | ALTER | MATERIALIZED VIEW | 168 次 | |
| 更改一个物化视图的定义 | 现存 | |||
DROP MATERIALIZED VIEW | DROP | MATERIALIZED VIEW | — | |
| 移除一个物化视图 | 现存 | |||
REFRESH MATERIALIZED VIEW | REFRESH | MATERIALIZED VIEW | 9.41 次 | |
| 替换物化视图的内容 | 现存 | |||
CREATE SEQUENCE | CREATE | SEQUENCE | 188 次 | |
| 定义一个新的序列发生器 | 现存 | |||
ALTER SEQUENCE | ALTER | SEQUENCE | 1810 次 | |
| 更改序列发生器的定义 | 现存 | |||
DROP SEQUENCE | DROP | SEQUENCE | 8.23 次 | |
| 移除一个序列 | 现存 | |||
CREATE TABLE | CREATE | TABLE | 1920 次 | |
| 定义一个新表 | 现存 | |||
ALTER TABLE | ALTER | TABLE | 1826 次 | |
| 更改一个表的定义 | 现存 | |||
DROP TABLE | DROP | TABLE | 8.23 次 | |
| 移除一个表 | 现存 | |||
CREATE TABLE AS | CREATE | TABLE AS | 1911 次 | |
| 根据查询结果定义一个新表 | 现存 | |||
CREATE VIEW | CREATE | VIEW | 9.47 次 | |
| 定义一个新视图 | 现存 | |||
ALTER VIEW | ALTER | VIEW | 145 次 | |
| 更改视图的定义 | 现存 | |||
DROP VIEW | DROP | VIEW | 8.24 次 | |
| 移除一个视图 | 现存 | |||