ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# DROP TABLE ## Name DROP TABLE -- 删除一个表 ## Synopsis ``` DROP TABLE [ IF EXISTS ] _name_ [, ...] [ CASCADE | RESTRICT ] ``` ## 描述 `DROP TABLE`从数据库中删除表或视图。只有表的者、 模式所有者和超级用户才能删除一个表。要清空而不是删除表,请使用 [DELETE](#calibre_link-490)或[TRUNCATE](#calibre_link-89)。 `DROP TABLE`总是删除目标表上现有的任何索引、规则、触发器、约束。 但是,要删除一个有视图或者其它表用外键约束引用的表,必须声明`CASCADE`。 `CASCADE`将删除引用的视图,但是如果是外键约束,那么就只删除外键约束, 而不是另外一个表。 ## 参数 `IF EXISTS` 如果指定的表不存在,那么发出一个 notice 而不是抛出一个错误。 `_name_` 要删除的现存表的名字(可以有模式修饰)。 `CASCADE` 级联删除依赖于表的对象(比如视图)。 `RESTRICT` 如果存在依赖对象,则拒绝删除该表。这个是缺省。 ## 例子 删除`films`和`distributors`表: ``` DROP TABLE films, distributors; ``` ## 兼容性 此命令兼容 SQL 标准。只不过标准只允许一条命令删除一个表。此外, `IF EXISTS`选项是PostgreSQL的扩展。 ## 又见 [ALTER TABLE](#calibre_link-88), [CREATE TABLE](#calibre_link-7)