ClickHouse的表操作

1、背景

由于大数据平台需要对数据进行分析,因为ClickHouse是一个开源的列式数据库管理系统(DBMS),专为联机分析处理(OLAP)而设计。

官方地址:ClickHouse 开发 | ClickHouse Docs

2、集群中的操作

在操作集群中的表的时候,最好是采用dbname.tablename方式执行命令。

  • 创建数据库
sql 复制代码
CREATE DATABASE [IF NOT EXISTS] db_name
[ON CLUSTER cluster]
[ENGINE = db_engine(...)]
[COMMENT 'Comment']

例:create database if not exists mydb on CLUSTER  mycluster;
其他参数自行添加
  • 创建表
sql 复制代码
CREATE TABLE mydb.mylog ON CLUSTER mycluster
(
	`id` String COMMENT '标识id',
    `logdate` Date COMMENT '发生日期',
    `sid` String COMMENT '业务id',
    `create_time` DateTime('Asia/Shanghai') DEFAULT now() COMMENT '创建时间'
) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{layer}-{shard}/mydb/mylog','{replica}')
  PARTITION BY toYYYYMM(logdate)
  PRIMARY KEY (id, logdate)
  ORDER BY (id, logdate) COMMENT '日志表';
 

CREATE TABLE mydb.mylog_distributed ON CLUSTER mycluster
    AS mydb.mylog
    ENGINE = Distributed(mycluster, mydb, mylog, rand());
  • 删除表
sql 复制代码
// 删除远程表
DROP table IF EXISTS mydb.mylog_distributed ON CLUSTER mycluster; 
// 删除本地表
DROP table IF EXISTS mydb.mylog ON CLUSTER mycluster; 
  • 修改表名
sql 复制代码
RENAME TABLE mydb.mylog_distributed TO mydb.mylog_distributed_new ON CLUSTER mycluster;
RENAME TABLE mydb.mylog_ TO mydb.mylog_new ON CLUSTER mycluster;
  • 修改字段名
sql 复制代码
// 修改
ALTER TABLE mydb.mylog ON CLUSTER mycluster MODIFY COLUMN name String COMMENT '修改';
// 删除
ALTER TABLE mydb.mylog ON CLUSTER mycluster DROP COLUMN name;
// 添加
ALTER TABLE mydb.mylog ON CLUSTER mycluster ADD COLUMN test_id String COMMENT '新增ID';

提示:还有很多特性以及用法,请参考官方文档

相关推荐
xhtdj6 天前
智源大会圆桌大模型没有终局具身智能可能是中国的 AlphaGo 时刻
人工智能·clickhouse·安全·动态规划
xhtdj8 天前
技术采用曲线回望二十年
运维·数据库·人工智能·clickhouse·动态规划
Taerge01109 天前
Doris, StarRocks, ClickHouse, Hologres, ES 对比,选型建议
大数据·clickhouse·elasticsearch
海南java第二人11 天前
ClickHouse 表引擎完全指南:从 MergeTree 到集成引擎的选型实践
clickhouse
lhyzws12 天前
CENTOS上的网络安全工具(三十七)SPARK on CLICKHOUSE
clickhouse
海南java第二人12 天前
用户行为漏斗分析是什么?ClickHouse 如何轻松实现?
clickhouse
时空无限14 天前
clickhouse 数据损坏无法启动问题修复
clickhouse
阿演15 天前
我把这个桌面数据库工具又升级了一轮:现在支持 ClickHouse,还能可视化建表和改表了
数据库·clickhouse·ai编程·数据库连接工具
海南java第二人16 天前
ClickHouse 稀疏索引深度解析:为什么 OLAP 数据库不用 B-Tree?
数据库·clickhouse
海南java第二人16 天前
ClickHouse 主键索引详解:不是唯一标识,而是排序规则
clickhouse