命令行连接、删除clickhouse数据(亲测有效),clickhouse常用命令

一、问题描述

  • 系统用到clickhouse、mysql数据库。有份重要数据存在clickhouse中,客户反馈想删掉某个时间段之前的所有历史数据,由于无法通过平台界面删除,只能通过命令行进入数据库删除。
  • 有时调试、观察程序运行时,也需要删除某些数据。当然可以用DataGrip等数据库管理工具,但当没有此工具时,也只能通过命令行删除,因此掌握常用数据库的命令 是非常有必要的。

二、解决方案

确定clickhouse服务器开启后,使用clickhouse-client连接,接下来就可以根据自己的需求操作clickhouse数据了。

systemctl status clickhouse-server
clickhouse-client --password
show databases;
# 切换数据库
use data;
show tables;
select * from table1;
# 删除table1表中某个时间之前的数据
alter table table1 delete where createDate<'2023-09-19 10:59:08';

在这里插入图片描述

三、clickhouse常用命令

1.clickhouse服务的启动与停止(shell命令)

#服务启动
clickhouse-server --config-file=/etc/clickhouse-server/config.xml
#服务重启
systemctl restart clickhouse-server    或   service clickhouse-server restart   
#开启服务
systemctl start clickhouse-server   
#停止服务
systemctl stop clickhouse-server 
#查看服务状态
systemctl status clickhouse-server 
#click-client连接
clickhouse-client --password          

2.常用SQL语句

#查看版本
select version();                     
# 查看数据库
show databases;
# 删除数据库
drop database xx;
# 切换数据库,clickhouse实例的默认数据库:default
use default;

# 查看数据库下的表
show tables;
# 删除表
drop table table_name [on cluster default];

# 创建数据库
create database if not exists database_test on cluster default;
# 注意:1)on cluster cluster_name;这个指令使得操作能在集群范围内的节点都生效。 2)创建表、删除表时注意确认是否在集群所有节点创建,确保物理表与分布式表节点一致。

# 删除数据
alter table table_name delete [where condition];
# 清空表
truncate table table_name on cluster default;
# 更新语句
alter tavle table_name update count=1000 where name='cd';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值