文章目录
前言
在日常使用clickhouse中,会用到很多命令,特此整理记录一下。以下大部分内容都来自clickhouse_中文文档.pdf。
文档链接:https://pan.baidu.com/s/1Ai33BE6jClIs9kMDElv5Yg 提取码:pp7h
基本操作
在我们日常使用clickhouse中,用的最多的应该就是客户端相关的一些操作了,以下就是客户端的一些基本用法。
客户端常用参数
--host, -h -– 服务端的 host 名称, 默认是 'localhost'。 您可以选择使⽤ host 名称或者 IPv4 或 IPv6 地址。
--port – 连接的端⼝,默认值: 9000。注意 HTTP 接⼝以及 TCP 原⽣接⼝是使⽤不同端⼝的。
--user, -u – ⽤户名。 默认值: default。
--password – 密码。 默认值: 空字符串。
--query, -q – ⾮交互模式下的查询语句.
--database, -d – 默认当前操作的数据库. 默认值: 服务端默认的配置 (默认是 default )。
--multiline, -m – 如果指定,允许多⾏语句查询(Enter 仅代表换⾏,不代表查询语句完结)。
--multiquery, -n – 如果指定, 允许处理⽤逗号分隔的多个查询,只在⾮交互模式下⽣效。
--format, -f – 使⽤指定的默认格式输出结果。
--vertical, -E – 如果指定,默认情况下使⽤垂直格式输出结果。这与 '--format=Vertical' 相同。在这种格式中,每个值都在单独的⾏上打印,这种⽅式对显示宽表很有帮助。
--time, -t – 如果指定,⾮交互模式下会打印查询执⾏的时间到 'stderr' 中。
--stacktrace – 如果指定,如果出现异常,会打印堆栈跟踪信息。
-config-file – 配置⽂件的名称。
```
## 客户端登录
```bash
clickhouse-client --user xxxx --password xxxx
clickhouse-client -u xxxx --password xxxx
多行查询
clickhouse-client -m
clickhouse-client --multiline
如果 multiline 没有指定(默认没指定):为了执⾏查询,按下 Enter 即可。查询语句不是必须使⽤分号结尾。如果需要写 ⼀个多⾏的查询语句,可以在换⾏之前输⼊⼀个反斜杠 \ ,然后在您按下 Enter 键后,您就可以输⼊当前语句的下⼀⾏查询 了。
如果 multiline 指定了:为了执⾏查询,需要以分号结尾并且按下 Enter 键。如果⾏末没有分号,将认为当前语句并没有输 ⼊完⽽要求继续输⼊下⼀⾏。 若只运⾏单个查询,分号后⾯的所有内容都会被忽略。
可以指定 \G 来替代分号或者在分号后⾯,这表示 Vertical 的格式。在这种格式下,每⼀个值都会打印在不同的⾏中,这 种⽅式对于宽表来说很⽅便。这个不常⻅的特性是为了兼容 MySQL 命令⽽加的。