Skip to main content

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 one or more tables.

tip

To undo the deletion of a table, please see UNDROP TABLE

Syntax:

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

Limitations:

  • If the clause IF EMPTY is specified, the server checks the emptiness of the table only on the replica which received the query.
  • Deleting multiple tables at once is not an atomic operation, i.e. if the deletion of a table fails, 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;