DROP 语句
删除现有实体。如果指定了 IF EXISTS
子句,则如果实体不存在,这些查询不会返回错误。如果指定了 SYNC
修饰符,则实体将立即删除。
DROP DATABASE
删除 db
数据库中的所有表,然后删除 db
数据库本身。
语法
DROP DATABASE [IF EXISTS] db [ON CLUSTER cluster] [SYNC]
DROP TABLE
删除一个或多个表。
提示
要撤消表的删除操作,请参阅 UNDROP TABLE
语法
DROP [TEMPORARY] TABLE [IF EXISTS] [IF EMPTY] [db1.]name_1[, [db2.]name_2, ...] [ON CLUSTER cluster] [SYNC]
限制
- 如果指定了
IF EMPTY
子句,服务器仅在收到查询的副本上检查表的空闲情况。 - 一次删除多个表不是原子操作,即如果删除表失败,则不会删除后续表。
DROP DICTIONARY
删除字典。
语法
DROP DICTIONARY [IF EXISTS] [db.]name [SYNC]
DROP USER
删除用户。
语法
DROP USER [IF EXISTS] name [,...] [ON CLUSTER cluster_name] [FROM access_storage_type]
DROP ROLE
删除角色。已删除的角色将从所有分配了它的实体中撤销。
语法
DROP ROLE [IF EXISTS] name [,...] [ON CLUSTER cluster_name] [FROM access_storage_type]
DROP ROW POLICY
删除行策略。已删除的行策略将从所有分配了它的实体中撤销。
语法
DROP [ROW] POLICY [IF EXISTS] name [,...] ON [database.]table [,...] [ON CLUSTER cluster_name] [FROM access_storage_type]
DROP QUOTA
删除配额。已删除的配额将从所有分配了它的实体中撤销。
语法
DROP QUOTA [IF EXISTS] name [,...] [ON CLUSTER cluster_name] [FROM access_storage_type]
DROP SETTINGS PROFILE
删除设置配置文件。已删除的设置配置文件将从所有分配了它的实体中撤销。
语法
DROP [SETTINGS] PROFILE [IF EXISTS] name [,...] [ON CLUSTER cluster_name] [FROM access_storage_type]
DROP VIEW
删除视图。视图也可以通过 DROP TABLE
命令删除,但 DROP VIEW
会检查 [db.]name
是否为视图。
语法
DROP VIEW [IF EXISTS] [db.]name [ON CLUSTER cluster] [SYNC]
DROP FUNCTION
删除由 CREATE FUNCTION 创建的用户定义函数。系统函数无法删除。
语法
DROP FUNCTION [IF EXISTS] function_name [on CLUSTER cluster]
示例
CREATE FUNCTION linear_equation AS (x, k, b) -> k*x + b;
DROP FUNCTION linear_equation;
DROP NAMED COLLECTION
删除命名集合。
语法
DROP NAMED COLLECTION [IF EXISTS] name [on CLUSTER cluster]
示例
CREATE NAMED COLLECTION foobar AS a = '1', b = '2';
DROP NAMED COLLECTION foobar;