更新时间:2024-11-27 GMT+08:00

DROP TABLE

功能描述

删除指定的表。

注意事项

  • 只有表的所有者、模式所有者或者被授予了表的DROP权限的用户才能执行DROP TABLE,系统管理员默认拥有该权限。要清空指定表中的行但是不删除该表定义,可以使用TRUNCATE或者DELETE。
  • DROP TABLE会强制删除指定的表,删除表后,依赖该表的索引会被删除,而使用到该表的函数和存储过程将无法执行。删除分区表,会同时删除分区表中的所有分区。
  • DROP对象操作(如DATABASE、USER/ROLE、SCHEMA、TABLE、VIEW等对象)存在数据丢失风险,尤其含带CASCADE级联删除场景,会将关联的对象一并删除,操作需谨慎,操作前需考虑数据备份。
  • 更多开发设计规范参见总体开发设计规范

语法格式

1
2
DROP TABLE [ IF EXISTS ] 
    { [schema.]table_name } [, ...] [ CASCADE | RESTRICT ];

参数说明

  • IF EXISTS

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

  • schema

    模式名称。

  • table_name

    表名称。

  • CASCADE | RESTRICT
    • CASCADE:级联删除依赖于表的对象(比如视图)。
    • RESTRICT(缺省项):如果存在依赖对象,则拒绝删除该表。这个是缺省。

示例

删除表warehouse_t1:

1
DROP TABLE tpcds.warehouse_t1;