Skip to main content
Edit this page

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 are 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 │
└────────────┴────────────────────────┘