一、语法
DROP { DATABASE | SCHEMA } [ IF EXISTS ] dbname [ RESTRICT | CASCADE ]
二、参数说明
| 子句/关键字 | 用途 | 说明 |
| DATABASE / SCHEMA | 关键字 | 二者含义相同,可互换使用 |
| IF EXISTS | 幂等删除 | 数据库不存在时不抛异常,静默跳过 |
| RESTRICT | 限制删除(默认) | 禁止删除非空数据库,默认行为 |
| CASCADE | 级联删除 | 同时删除数据库下所有关联表和函数 |
三、示例
— 创建并删除数据库CREATE DATABASE drop_db_test1 COMMENT 'test database for drop';DROP DATABASE drop_db_test1;– IF EXISTS(不存在不报错)DROP DATABASE IF EXISTS nonexistent_db_xyz;– DROP 不存在的数据库(预期失败:数据库不存在)DROP DATABASE nonexistent_db_xyz_2;– CASCADE – 删除包含表的数据库CREATE DATABASE drop_db_test2;CREATE EXTERNAL TABLE drop_db_test2.t1 (id INT) USING PARQUET LOCATION 'cosn://<your_cos_bucket>/test_drop_db/drop_db_test2_t1';DROP DATABASE drop_db_test2 CASCADE;– RESTRICT – 删除非空数据库(预期失败:RESTRICT 不允许删除非空库)CREATE DATABASE drop_db_test3;CREATE EXTERNAL TABLE drop_db_test3.t1 (id INT) USING PARQUET LOCATION 'cosn://<your_cos_bucket>/test_drop_db/drop_db_test3_t1';DROP DATABASE drop_db_test3 RESTRICT;– 使用 SCHEMA 关键字CREATE SCHEMA drop_schema_test;DROP SCHEMA drop_schema_test;