DROP TABLE

最近更新时间:2026-05-20 14:11:22

我的收藏

描述

DROP TABLE 删除表,并从文件系统中移除与表关联的目录(如果表不是 EXTERNAL 表)。如果表不存在,将抛出异常。对于外部表,仅从元数据存储数据库中移除关联的元数据信息。如果表已被缓存,该命令会取消缓存表及其所有依赖项。

语法

DROP TABLE [ IF EXISTS ] table_identifier [ PURGE ]

参数

参数
说明
语法
IF EXISTS
如果指定,当表不存在时不会抛出异常。
-
table_identifier
指定要删除的表名。
[ database_name. ] table_name
PURGE
如果指定,删除表时完全清除(跳过回收站)。
-

示例

-- 创建并删除表
CREATE EXTERNAL TABLE drop_t1 (id INT) USING PARQUET
LOCATION 'cosn://<your_bucket_name>/test_drop_table/drop_t1';
DROP TABLE drop_t1;

-- DROP 不存在的表(预期失败:表不存在)
DROP TABLE nonexistent_table_xyz;

-- IF EXISTS(不存在不报错)
DROP TABLE IF EXISTS nonexistent_table_xyz;

-- PURGE 完全清除
CREATE EXTERNAL TABLE drop_t2 (id INT) USING PARQUET
LOCATION 'cosn://<your_bucket_name>//test_drop_table/drop_t2';
DROP TABLE drop_t2 PURGE;

-- 带数据库前缀
CREATE DATABASE drop_test_db;
CREATE EXTERNAL TABLE drop_test_db.t1 (id INT) USING PARQUET
LOCATION 'cosn://<your_bucket_name>//test_drop_table/drop_test_db_t1';
DROP TABLE drop_test_db.t1;