DROP SCHEMA
适用于: Databricks SQL
Databricks Runtime
删除 schema 并从文件系统中删除与 schema 关联的目录。 如果系统中不存在 schema,则会引发异常。 若要删除 schema,需要拥有对 schema 的 MANAGE
权限,或是其所有者。
虽然使用 SCHEMA
和 DATABASE
是可互换的,但最好使用 SCHEMA
。
语法
DROP SCHEMA [ IF EXISTS ] schema_name [ RESTRICT | CASCADE ]
Parameters
IF EXISTS
如果有指定,则在 schema 不存在时不会引发异常。
-
系统中现有架构的名称。 如果该名称不存在,则会引发异常。
RESTRICT
如果已指定此项,将限制删除非空 schema,并且这在默认情况下处于启用状态。
CASCADE
如果指定,则以递归方式删除所有关联的 tables 和函数。 在 Unity Catalog中,使用
CASCADE
对 schema 进行软删除会删除 tables:托管的 table 文件将在 30 天后被清理,但不会删除任何外部文件。 警告! 如果 schema 由工作区级别 Hive 元存储管理,则使用CASCADE
以递归方式删除 schema 会删除指定位置中的所有文件,而不考虑 table 类型(无论是托管还是外部)。
示例
-- Create `inventory_schema` Database
> CREATE SCHEMA inventory_schema COMMENT 'This schema is used to maintain Inventory';
-- Drop the schema and its tables
> DROP SCHEMA inventory_schema CASCADE;
-- Drop the schema using IF EXISTS
> DROP SCHEMA IF EXISTS inventory_schema CASCADE;