PostgreSQL 9.4.4 中文手册
上一页 | 上一级 |  | 下一页

# DROP TABLE

## 名称

DROP TABLE -- 删除一个表

## 大纲

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

## 描述

`DROP TABLE`从数据库中删除表或视图。只有表的所有者、 模式所有者和超级用户才能删除一个表。要清空而不是删除表，请使用 DELETE或TRUNCATE。

`DROP TABLE`总是删除目标表上现有的任何索引、规则、触发器、约束。 但是，要删除一个有视图或者其它表用外键约束引用的表，必须声明`CASCADE`。 `CASCADE`将删除引用的视图，但是如果是外键约束，那么就只删除外键约束， 而不是另外一个表。

## 参数

`IF EXISTS`

  如果指定的表不存在，那么发出一个 notice 而不是抛出一个错误。

`name`

  要删除的现存表的名字(可以有模式修饰)。

`CASCADE`

  级联删除依赖于表的对象(比如视图)。

`RESTRICT`

  如果存在依赖对象，则拒绝删除该表。这个是缺省。

## 例子

删除`films`和`distributors`表：

    DROP TABLE films, distributors;

## 兼容性

此命令兼容 SQL 标准。只不过标准只允许一条命令删除一个表。此外， `IF EXISTS`选项是PostgreSQL的扩展。

## 又见

ALTER TABLE, CREATE TABLE

上一页 | 起始页 | 下一页
DROP SERVER | 上一级 | DROP TABLESPACE