创建新数据库。
CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] [ENGINE = engine(...)] [COMMENT 'Comment']
IF NOT EXISTS
如果 db_name 数据库已经存在,则 ClickHouse 不会创建新的数据库,并且:
- 如果指定了该子句,则不会抛出异常。
- 如果未指定该子句,则会抛出异常。
ON CLUSTER
ClickHouse 会在指定集群的所有服务器上创建 db_name 数据库。更多详情参见 Distributed DDL 一文。
ENGINE
默认情况下,ClickHouse 使用其自带的 Atomic 数据库引擎。还可以使用 Lazy、MySQL、PostgresSQL、MaterializedPostgreSQL、Replicated、SQLite。
在创建数据库时,可以为其添加注释。
所有数据库引擎都支持注释。
语法
CREATE DATABASE db_name ENGINE = engine(...) COMMENT 'Comment'
示例
查询:
CREATE DATABASE db_comment ENGINE = Memory COMMENT 'The temporary database';
SELECT name, comment FROM system.databases WHERE name = 'db_comment';
结果:
┌─name───────┬─comment────────────────┐
│ db_comment │ The temporary database │
└────────────┴────────────────────────┘