Clickhouse Database 操作

clickhouse的数据操作
数据库起到了命名空间的作用,可以有效的规避命名冲突,也为后续的数据隔离提供了支撑,表隶属于某个数据库之下。

创建数据库的完整语法:
CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] [ENGINE = engine(...)]

IF NOT EXISTS:若存在一个同名的库则忽略后续的创建过程。若不存在则创建库名。
[ON CLUSTER cluster]:基于clickhouse集群创建表
[ENGINE = engine(...)]:表示数据库所使用的引擎类型。

Ordinary:默认引擎,在绝大多数情况下我们都会使用默认的存储引擎,无须指定声明。在此数据库引擎下可以使用任意类型的表引擎。
Dictionary:字典引擎,此类数据库会自动为所有数据字典创建他们的数据表。
Memory:内存引擎,用于存放临时数据。此类数据库下的数据表只会驻留在内存中,不会涉及任务磁盘操作,当服务重启数据会被清除。
Lazy:日志引擎,此类数据库引擎下只能使用Log系列的表引擎。
MySQL:MySQL引擎,此类数据库下会自动拉取远端的MySQL中的数据,并为他们创建MySQL中标引擎的数据表。



示例:
Clickhouse> create database if not exists clickhouse_db;

CREATE DATABASE IF NOT EXISTS clickhouse_db

Ok.

0 rows in set. Elapsed: 0.002 sec. 
默认的数据库是磁盘上的一个文件目录,执行创建之后可以在数据目录下创建文件:

# ls -l /var/lib/clickhouse/data/
total 0
drwxr-x---. 2 clickhouse clickhouse  6 Jun 27 16:41 clickhouse_db
drwxr-x---. 4 clickhouse clickhouse 38 Jun 27 13:44 datasets
drwxr-x---. 2 clickhouse clickhouse  6 Jun 23 02:34 default
drwxr-x---. 4 clickhouse clickhouse 41 Jun 23 02:34 system

可以看相关的元数据:
# ls -l /var/lib/clickhouse/metadata
total 12
drwxr-x---. 2 clickhouse clickhouse  6 Jun 27 16:41 clickhouse_db
-rw-r-----. 1 clickhouse clickhouse 48 Jun 27 16:41 clickhouse_db.sql
drwxr-x---. 2 clickhouse clickhouse 46 Jun 27 13:44 datasets
-rw-r-----. 1 clickhouse clickhouse 43 Jun 23 03:07 datasets.sql
drwxr-x---. 2 clickhouse clickhouse  6 Jun 23 02:34 default
-rw-r-----. 1 clickhouse clickhouse 42 Jun 23 02:34 default.sql
drwxr-x---. 2 clickhouse clickhouse 49 Jun 23 02:34 system

语句:
# cat clickhouse_db.sql 
ATTACH DATABASE clickhouse_db
ENGINE = Ordinary

可以看到数据库的ENGINE 默认是Ordinary。


-- 查看数据库:
Clickhouse> show databases;

SHOW DATABASES

┌─name───────────────────────────┐
│ _temporary_and_external_tables │
│ clickhouse_db                  │
│ datasets                       │
│ default                        │
│ system                         │
└────────────────────────────────┘

5 rows in set. Elapsed: 0.003 sec. 



-- 查看创建数据库的语句:
Clickhouse> show create database clickhouse_db \G

SHOW CREATE DATABASE clickhouse_db

Row 1:
──────
statement: CREATE DATABASE clickhouse_db
ENGINE = Ordinary

1 rows in set. Elapsed: 0.002 sec. 

-- 删除数据库:

Clickhouse> drop database if exists clickhouse_db;

DROP DATABASE IF EXISTS clickhouse_db

Ok.

0 rows in set. Elapsed: 0.001 sec. 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值