Source: https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/ddl/schema/drop/ Documentation version: v5.3.2 # DROP SCHEMA `DROP SCHEMA`语句用于销毁当前 Catalog 中的 Schema。Schema 被销毁后,Schema 中的所有对象也会被删除。 系统创建的默认 Schema `/default_schema`不能被销毁。 Note 对非默认 Schema 或其中的对象执行操作时,用户既要通过隐式访问规则或显式`USAGE`授权获得该 Schema 的访问权,也要具备目标操作所需的权限。Schema 访问校验和目标操作所需的权限校验相互独立,满足其中一项不能替代另一项。Schema 访问控制不适用于临时图、内置 Procedure 和内置 Function。更多信息,请参见 [Schema 访问控制](https://dev-docs.yueshu.com.cn/v5.3.2/server-admin/authorization/schema-access-control/)。 ## 前提条件 - 已创建 Schema。更多信息,请参见 [CREATE SCHEMA](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/ddl/schema/create/)。 - 待销毁的 Schema 中不包含资源对象。 - 具备对指定 Schema 执行`DROP`操作的权限。更多信息,请参见[角色与权限](https://dev-docs.yueshu.com.cn/v5.3.2/server-admin/authorization/)。 ## 语法 语法图源码 drop_schema_statement ```` drop_schema_statement ::= 'DROP' 'SCHEMA' ('IF EXISTS')? schema_reference ```` ## 参数 ### `IF EXISTS` 该子句会检查待销毁的 Schema 是否存在于路径中。如果不存在,则不会销毁 Schema,也不会抛出异常。 若不指定该子句,且待销毁的 Schema 不存在于路径中,则会抛出异常。 ### `schema_reference` 所引用的 Schema 路径。此处即待销毁的 Schema 的路径。 路径区分大小写,必须与现有的 Schema 路径匹配。绝对路径或相对路径均可在语句中使用。 ## 示例 ### 使用绝对路径销毁 Schema ```` DROP SCHEMA IF EXISTS /test/my_schema1 ```` 上述示例销毁在 [CREATE SCHEMA](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/ddl/schema/create/#schema) 的示例部分中所创建的路径为`/test/my_schema1`的 Schema。 ### 使用相对路径销毁 Schema ```` ''' // 创建 Schema CREATE SCHEMA IF NOT EXISTS /test/my_schema1 ''' ''' // 为当前会话设置 Schema SESSION SET SCHEMA /test/my_schema1 ''' ''' // 使用相对路径创建 Schema CREATE SCHEMA IF NOT EXISTS ../my_schema2 ''' ''' // 使用相对路径销毁 Schema DROP SCHEMA IF EXISTS ../my_schema2 ''' ```` 上述示例销毁在当前会话中的 Schema 为`/test/my_schema1`的情况下,销毁了路径为`/test/my_schema2`的 Schema。