ClickHouse/docs/en/sql-reference/statements/drop.md
2024-01-24 11:17:52 +08:00

3.0 KiB

slug sidebar_position sidebar_label
/en/sql-reference/statements/drop 44 DROP

DROP Statements

Deletes existing entity. If the IF EXISTS clause is specified, these queries do not return an error if the entity does not exist. If the SYNC modifier is specified, the entity is dropped without delay.

DROP DATABASE

Deletes all tables inside the db database, then deletes the db database itself.

Syntax:

DROP DATABASE [IF EXISTS] db [ON CLUSTER cluster] [SYNC]

DROP TABLE

Deletes the table. In case when IF EMPTY clause is specified server will check if table is empty only on replica that received initial query.

:::tip Also see UNDROP TABLE :::

Syntax:

DROP [TEMPORARY] TABLE [IF EXISTS] [IF EMPTY]  [db1.]name_1[, [db2.]name_2, ...] [ON CLUSTER cluster] [SYNC]

Note that deleting multiple tables at the same time is a non-atomic deletion. If a table fails to be deleted, subsequent tables will not be deleted.

DROP DICTIONARY

Deletes the dictionary.

Syntax:

DROP DICTIONARY [IF EXISTS] [db.]name [SYNC]

DROP USER

Deletes a user.

Syntax:

DROP USER [IF EXISTS] name [,...] [ON CLUSTER cluster_name] [FROM access_storage_type]

DROP ROLE

Deletes a role. The deleted role is revoked from all the entities where it was assigned.

Syntax:

DROP ROLE [IF EXISTS] name [,...] [ON CLUSTER cluster_name] [FROM access_storage_type]

DROP ROW POLICY

Deletes a row policy. Deleted row policy is revoked from all the entities where it was assigned.

Syntax:

DROP [ROW] POLICY [IF EXISTS] name [,...] ON [database.]table [,...] [ON CLUSTER cluster_name] [FROM access_storage_type]

DROP QUOTA

Deletes a quota. The deleted quota is revoked from all the entities where it was assigned.

Syntax:

DROP QUOTA [IF EXISTS] name [,...] [ON CLUSTER cluster_name] [FROM access_storage_type]

DROP SETTINGS PROFILE

Deletes a settings profile. The deleted settings profile is revoked from all the entities where it was assigned.

Syntax:

DROP [SETTINGS] PROFILE [IF EXISTS] name [,...] [ON CLUSTER cluster_name] [FROM access_storage_type]

DROP VIEW

Deletes a view. Views can be deleted by a DROP TABLE command as well but DROP VIEW checks that [db.]name is a view.

Syntax:

DROP VIEW [IF EXISTS] [db.]name [ON CLUSTER cluster] [SYNC]

DROP FUNCTION

Deletes a user defined function created by CREATE FUNCTION. System functions can not be dropped.

Syntax

DROP FUNCTION [IF EXISTS] function_name [on CLUSTER cluster]

Example

CREATE FUNCTION linear_equation AS (x, k, b) -> k*x + b;
DROP FUNCTION linear_equation;

DROP NAMED COLLECTION

Deletes a named collection.

Syntax

DROP NAMED COLLECTION [IF EXISTS] name [on CLUSTER cluster]

Example

CREATE NAMED COLLECTION foobar AS a = '1', b = '2';
DROP NAMED COLLECTION foobar;