描述
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 PARQUETLOCATION '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 PARQUETLOCATION '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 PARQUETLOCATION 'cosn://<your_bucket_name>//test_drop_table/drop_test_db_t1';DROP TABLE drop_test_db.t1;