DROP TABLE
功能描述
删除指定的表。
注意事项
- DROP TABLE会强制删除指定的表,删除表后,依赖该表的索引会被删除,而使用到该表的函数和存储过程将无法执行。删除分区表,会同时删除分区表中的所有分区。
- 只有表的所有者、模式所有者或者被授予了表的DROP权限的用户才能执行DROP TABLE,系统管理员默认拥有该权限。要清空指定表中的行但是不删除该表定义,可以使用TRUNCATE或者DELETE。

- 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 |
当执行删除操作时,如何处理依赖对象中的相关数据。 |
|
示例
删除表warehouse_t1:
1
|
DROP TABLE tpcds.warehouse_t1; |