
# DROP TABLE
#### 功能描述
删除指定的表。
#### 注意事项
- DROP TABLE会强制删除指定的表，删除表后，依赖该表的索引会被删除，而使用到该表的函数和存储过程将无法执行。删除分区表，会同时删除分区表中的所有分区。
- 只有表的所有者、模式所有者或者被授予了表的DROP权限的用户才能执行DROP TABLE，系统管理员默认拥有该权限。要清空指定表中的行但是不删除该表定义，可以使用TRUNCATE或者DELETE。
![](https://support.huaweicloud.com/sqlreference-dws/public_sys-resources/danger_3.0-zh-cn.png)
- **DROP对象**操作（如DATABASE、USER/ROLE、SCHEMA、TABLE、VIEW等对象）存在数据丢失风险，尤其含带CASCADE级联删除场景，会将关联的对象一并删除，操作需谨慎，操作前需考虑数据备份。
- 更多开发设计规范参见[总体开发设计规范](https://support.huaweicloud.com/devg-dws/dws_04_0075.html)。
 
#### 语法格式
```
DROP TABLE [ IF EXISTS ] 
    { [schema.]table_name } [, ...] [ CASCADE | RESTRICT ] ;
```
#### 参数说明
表1DROP TABLE参数说明 
| 参数                  | 描述                                                                                                                                                                                                                                    | 取值范围                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| IF EXISTS           | 如果指定的表不存在，则发出一个notice而不是抛出一个错误。                                                                                                                                                                                                       | -                                                                                                                                                                                                                                                                                                                       |
| schema              | 要删除的表所属的模式名称。                                                                                                                                                                                                                         | -                                                                                                                                                                                                                                                                                                                       |
| table_name          | 要删除的表名称。                                                                                                                                                                                                                              | 已存在的表名称。                                                                                                                                                                                                                                                                                                                |
| CASCADE \| RESTRICT | 当执行删除操作时，如何处理依赖对象中的相关数据。                                                                                                                                                                                                              | - CASCADE：级联删除依赖于表的对象（比如视图）。  - RESTRICT（缺省项）：如果存在依赖对象，则拒绝删除该表。这个是缺省。   |
| PURGE               | 指定Purge参数时，无论回收站特性是否开启，直接删除，不放入回收站。该参数仅9.1.0.200及以上集群版本支持。                                                                                                                                                                            | -                                                                                                                                                                                                                                                                                                                       |
| KEEP ttl HOUR       | 对于V3表，回收站特性开启时，设置TTL，物理文件会放入回收站中，后续可以从回收站中恢复，TTL到期之后，后台自动清理回收站中的对象。该参数仅9.1.0.200及以上集群版本支持。 须知： 没有做合理的空间管控，建议在DROP和TRUNCATE频率低业务场景中使用。 | -                                                                                                                                                                                                                                                                                                                       |
   
#### 示例
删除表warehouse_t1。
```
DROP TABLE IF EXISTS tpcds.warehouse_t1;
```
#### 相关链接
[ALTER TABLE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0142.html)，[12.101-RENAME TABLE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0276.html)，[CREATE TABLE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0177.html)
