Skip to main content

CREATE DATABASE

Creates a new database.

CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] [ENGINE = engine(...)] [COMMENT 'Comment']

Clauses​

IF NOT EXISTS​

If the db_name database already exists, then ClickHouse does not create a new database and:

  • Doesn’t throw an exception if clause is specified.
  • Throws an exception if clause isn’t specified.

ON CLUSTER​

ClickHouse creates the db_name database on all the servers of a specified cluster. More details in a Distributed DDL article.

ENGINE​

By default, ClickHouse uses its own Atomic database engine. There are also Lazy, MySQL, PostgresSQL, MaterializedMySQL, MaterializedPostgreSQL, Replicated, SQLite.

COMMENT​

You can add a comment to the database when you creating it.

The comment is supported for all database engines.

Syntax

CREATE DATABASE db_name ENGINE = engine(...) COMMENT 'Comment'

Example

Query:

CREATE DATABASE db_comment ENGINE = Memory COMMENT 'The temporary database';
SELECT name, comment FROM system.databases WHERE name = 'db_comment';

Result:

β”Œβ”€name───────┬─comment────────────────┐
β”‚ db_comment β”‚ The temporary database β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜