
# 删除表
#### 功能描述
删除表。DROP TABLE 用于删除已有的表及其元数据。
- OBS表（外部表）：仅删除元数据信息，存放在OBS上的数据不会被删除。
- 管理表：同时删除数据及相应的元数据信息。
 
#### 语法格式
```
DROP TABLE [ IF EXISTS ] [ db_name. ] table_name
```
#### 关键字
**IF EXISTS**：若指定，当表不存在时不会报错；若未指定且表不存在，将抛出异常。
#### 参数说明
| **参数**         | **是否必选** | **描述**                                                          |
|:---|:---|:---|
| **db_name**    | 否        | 数据库名称。若未指定，则默认使用当前数据库。命名规则：由字母、数字和下划线（_）组成，不能是纯数字，且不能以数字和下划线开头。 |
| **table_name** | 是        | 要删除的表名称。                                                        |
   
#### 注意事项
- 所要删除的表必须是当前数据库下存在的，否则会出错，可以通过添加 IF EXISTS 来避免出错。
- 对于OBS表（外部表），DROP TABLE 仅删除元数据，OBS路径下的数据文件仍会保留；对于管理表，元数据和数据将同时被删除。
 
#### 示例1：基本删除表
删除当前数据库下名为 employee 的表。
```
DROP TABLE employee;
```
#### 示例2：使用 IF EXISTS 避免报错
删除名为 employee 的表，若该表不存在则不会报错。
```
DROP TABLE IF EXISTS employee;
```
#### 示例3：删除指定数据库的表
删除 company_db 数据库下名为 employee 的表。
```
DROP TABLE IF EXISTS company_db.employee;
```
#### 示例4：OBS表与管理表的区别说明
以下示例演示OBS表与Managed Table在删除时的行为差异：
```
-- 删除管理表：元数据和数据同时被删除
DROP TABLE IF EXISTS managed_table;
-- 删除OBS表（外部表）：仅删除元数据，OBS上的数据文件保留
DROP TABLE IF EXISTS obs_table;
```
*若需要同时清理OBS表对应的数据文件，需手动删除OBS路径下的文件，例如 obs://bucket-name/path/to/data/。*
