Clickhouse客户端使⽤教程

Clickhouse提供了⼀个本地命令⾏客户端:clickhouse-client。

⼀.客户端⽀持的配置项

1. 配置项的配置⽅式

1.1 从命令⾏传⼊

 如果是命令⾏设置的配置项,那么优先级是最⾼的。当和配置⽂件中的配置项有重合的时候,会优先使⽤命令⾏配置。

1.2 配置⽂件

 当在配置⽂件中配置了配置项的时候,那么会覆盖掉该配置项的默认值和设置。

2. 配置项列表

--host,-h:⽤来配置服务器,默认是localhost。值可以是服务器名称或 IPv4 或 IPv6 地址;

--post:要连接的端⼝,默认是9000。注意http接⼝和native接⼝使⽤的是不同的端⼝;

--user,-u:⽤户名,默认是default;

--password:密码默认是‘’(空字符串);

--query,-q:在⾮交互模式场景下要处理的查询。使⽤时必须要指定query或queries-file选项;

--queries-file,-qf:存放查询语句的⽂件路径。使⽤时必须要指定query或queries-file选项;

--database,-d: 选择进⼊客户端之后的默认数据库。默认是服务器设置的默认数据库(default) --multiline,-m:标识是否允许多⾏查询,即不按enter发送查询命令,⽽是‘;’

--multiquery,-n:如果指定了,允许处理以‘;’分隔的多个查询;

--format,-f:使⽤指定的默认格式输出结果;

--vertical,-E:如果指定了,就使⽤垂直格式输出结果。和format=Vertical.是⼀样的效果。在这种格式中,每⼀个值都单独占据⼀ ⾏,在显⽰宽表的时候会⽐较有帮助;

--time,-t:如果指定了,则在⾮交互模式下会将查询时间打印到stderr;

--stacktrace :如果指定了,那么在发⽣异常的时候,会打印堆栈跟踪;

--config-file:指定使⽤的配置⽂件的名称;

--secure:如果指定了,则会在安全模式下连接到服务器;

--history_file:指定了包含命令执⾏记录的⽂件路径;

注:如果是⽤配置项全名的话,是"配置项=value"的格式。如果是缩写的话,就是"配置项 value"的格式

clickhouse-client --database=test --query="SELECT * FROM t2"

clickhouse-client -d test -q "SELECT * FROM t2"

注:

⼀般我们使⽤的服务器和客户端也是需要相互兼容的。如果不兼容的话,会有如下的提醒:

ClickHouse client version is older than ClickHouse server. It may lack support for new features.

⼆. 客户端⽤法

客户端可以在交互模式和⾮交互(批处理)模式下使⽤。

1.⾮交互模式

1.1 -- query 参数指定执⾏语句

clickhouse-client --database=test --query='insert into t2(a,b) values(1,2)'

clickhouse-client --database=test --query='select * from t2'

1.2 -- query 参数和发送到stdin的数据联合使⽤

echo -ne '2,3'|clickhouse-client --database=test --query='insert into t2 format CSV'

clickhouse-client --database=test --query='select * from t2'

在批处理格式下,默认的数据格式是 TabSeparated。当然我们也可以在FORMAT ⼦句中设置格式。

默认情况下,批处理格式只⽀持当个查询。

如果想要执⾏多个查询的话,需要在脚本⾥⾯执⾏。可以使⽤--multiquery参数。适⽤于除了insert之外的所有查询。查询结果会连续输 出,没有额外的分隔符。

如果要执⾏⼤量查询的话,建议为每⼀个查询都启⽤⼀个客户端,启⽤⼀个客户端会耗时约数⼗毫秒

2.交互模式

所谓的交互模式,指的是通过执⾏clickhouse-client,进⼊客户端后,在客户端⾥执⾏查询。

 

2.1 multiline

2.1.1 如果在进⼊客户端的时候没有指定multiline,那么输⼊查询语句的时候,不需要加’;’,直接回车就会执⾏

 

如果查询语句有多⾏的话,那么第⼀⾏输出之后 输⼊ \,然后回车,就不会执⾏,之后就可以继续输⼊第⼆⾏

 

2.1.2 如果在进⼊客户端的时候指定了multiline(默认是不指定的)的话,那么就需要⽤;来指定sql语句的输⼊完毕

 

 

2.2 可以⽤\G来指定垂直打印

 

 

2.3. sql的执⾏记录被保留在~/.clickhouse-client-history.

 

2.4. 当执⾏查询操作的时候,客户端会显⽰的内容:

在默认情况下,如果查询操作执⾏的慢的,每秒更新进度不会超过10次。如果查询操作很快的话,那么就不会显⽰查询进度,⽽是直接显⽰结果。

在解析sql语句之后会进⾏格式化的查询,可以⽤于debug。

 

可以指定输出的结果格式,默认情况下,使⽤的格式是 PrettyCompact。可以在查询的 FORMAT ⼦句中更改格式,或者通过\G在查询末尾指定、使⽤命令⾏中的–formator–vertical参数或使⽤客户端配置⽂件来更改格式。

 

会显⽰查询的结果⾏数和⽤时,以及查询处理的平均速度

2.5. 快捷操作

可以使⽤Ctrl+C 取消长查询。但是,仍需要稍等⽚刻,让服务器中⽌请求。在某些阶段⽆法取消查询。如果不等待并再次按 Ctrl+C,客户 端将退出。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

国林哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值