ClickHouse提供了原生的命令行客户端clickhouse-client来操作ClickHouse。

clickhouse-client可以在交互和非交互(批处理)模式下使用。

交互模式下,一次登录,可以执行多次查询。一般用不到,要查询数据直接用客户端软件就行了,如DBeaver。

非交互模式一般用于使用脚本执行查询语句。

使用方式

clickhouse-client [参数]

配置参数

可以通过两种方式来配置参数:

  • 直接在命令行执行参数
  • 通过配置文件指定

命令行指定

  • --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 – 配置文件的名称。
  • --secure – 如果指定,将通过安全连接连接到服务器。
  • --history_file — 存放命令历史的文件的路径。

配置文件指定

通过配置文件指定时,使用下面列表中存在的第一个:

  • 通过--config-file参数指定。
  • ./clickhouse-client.xml
  • ~/.clickhouse-client/config.xml
  • /etc/clickhouse-client/config.xml
配置文件实例
<config><user>username</user><password>password</password><secure>False</secure>
</config>

使用案例

导入数据

cat data.csv |
clickhouse-client --host 127.0.0.1 --port 9000 --database test_db --user default \--password='123456' --query="INSERT INTO asd FORMAT CSV" --format_csv_delimiter="|";

导出数据

clickhouse-client --host 127.0.0.1 --port 9000 --database test_db --user default \--password='123456' --query="select * from asd limit 100"  --format CSV  --format_csv_delimiter="|"

执行sql文件

clickhouse-client --host 127.0.0.1 --port 9000 --database test_db --user default \--password='123456'  --multiquery  < multi.sql

更多说明

  • 可以指定\G来替代分号或者在分号后面。每个字段的值会打印在不同的行中,数据列很多时比较友好。
  • --format就是输入输出格式,常用的就是CSV,所有的格式见输入输出格式
  • 在交互模式下,如果不指定-m参数,按Enter就执行查询了;如果要执行多行查询语句,需要在换行之前加上反斜杠\。指定了-m就不用加了。

参考

clickhouse-client官方文档:https://clickhouse.tech/docs/zh/interfaces/cli/

format官方文档:https://clickhouse.tech/docs/zh/interfaces/formats/#formats

clickhouse-client命令行参数及常用案例相关推荐

  1. linux读取命令行参数,Linux学习笔记(五)—— Linux命令行参数

    一.客户端输入 脚本执行的过程是对数据变量进行处理的过程,之前在脚本中处理的数据都是静态数据,而不是和客户端交互的动态数据.在大多数情况下脚本执行过程需要和客户端进行交互,用来获得脚本处理的数据,这些 ...

  2. 常用的stsadm命令行参数

    常用的stsadm命令行参数有: 1.installfeature.uninstallfeature: feature部署和卸载: 安装feature:stsadm -o installfeature ...

  3. gcc 编译器常用的命令行参数一览

    这些常用的 gcc/g++ 命令行参数,你都知道么? 1. gcc -E source_file.c -E,只执行到预编译.直接输出预编译结果. 2. gcc -S source_file.c  -S ...

  4. Android开发实践:常用NDK命令行参数

    Android提供了NDK工具,用来编译native代码(c/c++),该工具配置好了相关的交叉编译环境和工具链,只需要你简单地编写几个.mk文件即可将你的c/c++代码编译为Android的java ...

  5. 002 第一季SpringBoot2核心技术-核心功能:配置文件、Web开发(原生组件)、数据访问、单元测试、指标监控、原理解析:@Value、命令行参数、手动获取bean、自定义starter

    三.核心技术之- ->核心功能 1. 配置文件 1.1 文件类型 1.1.1 properties 同以前的properties用法 优先级高于yml的方式. 1.1.2 yaml 1) 简介 ...

  6. laravel auth(api)-attempt 返回false_3分钟短文:Laravel命令行参数和可选项分不清?怎么可能...

    引言 上一期我们介绍了laravel命令行的创建,以及使用方法.使用了一个没有数据输入和输出的测试用例. 本期我们来介绍带有命令行参数输入,和命令行输出信息的代码用法. 代码时间 声明命令行位置参数, ...

  7. 编程模板-R语言脚本写作:最简单的统计与绘图,包安装、命令行参数解析、文件读取、表格和矢量图输出

    写在前面 个人认为:是否能熟悉使用Shell(项目流程搭建)+R(数据统计与可视化)+Perl/Python等(胶水语言,数据格式转换,软件间衔接)三门语言是一位合格生物信息工程师的标准. 之前分享过 ...

  8. Python中最好用的命令行参数解析工具

    Python 做为一个脚本语言,可以很方便地写各种工具.当你在服务端要运行一个工具或服务时,输入参数似乎是一种硬需(当然你也可以通过配置文件来实现). 如果要以命令行执行,那你需要解析一个命令行参数解 ...

  9. 如何将命令行参数传递给Node.js程序?

    我有一个用Node.js编写的Web服务器,我想使用一个特定的文件夹启动. 我不确定如何在JavaScript中访问参数. 我正在像这样运行节点: $ node server.js folder 这是 ...

  10. python argvparser_Python命令行参数argv和argparse该如何使用

    概述 运行python脚本时通过命令行方式传入运行参数通常有以下两种自建方式: sys.argv - 简洁 argparse - 丰富,可自定义 下面详细说一下具体时使用 argv # test_ar ...

最新文章

  1. MIT与商汤科技成立人工智能联盟
  2. 如果java使用什么声明类_如果声明一个类时使用abstract修饰符,则表明该类是()_学小易找答案...
  3. Could not connect ot Redis No route to host问题解决
  4. php 脏数据,使用 PHP Masked Package 屏蔽敏感数据
  5. Redis-cluster集群【第一篇】:redis安装及redis数据类型
  6. .ai域名注册已经极具投资价值进入火爆期
  7. 迪士尼正式收购21世纪福克斯!网友:原来米老鼠才是灭霸…
  8. python自动压图贴图到Excel小工具
  9. hive中的lateral view的解析
  10. mac好用的图片转文字,ocr文字识别工具:Text Scanner
  11. java中equals以及==的用法(简单介绍)
  12. Atitit java读取堵塞cmd命令行返回结果 java read maven 主要原理是另外线程读取标准流,错误流。。 回显增加out头,这样发布区分errstream和stdstream的
  13. FPGA——HLS编程入门
  14. PayPal开发文档整理(2)- 开发者文档介绍
  15. php plupload上传失败,PHP-plupload错误生成
  16. 如何转换图片格式为png?图片格式如何进行转换?
  17. farm together(一起玩农场)奖励物品代码(截止2021.2.10)
  18. 剖析微信等即时通讯常用组件(一)
  19. 成功人士分析问题的11种思维方式
  20. linux中mysql的安装与卸载_linux的mysql安装与卸载

热门文章

  1. echarts地图api series_使用echarts结合百度地图API做迁徙图
  2. 重启计算机之前无法刷新,更新完补丁不断提示是否重启电脑的解决方法
  3. CentOS 7.4安装配置Oracle 12cR2 12.2.0.1.0
  4. 怎样开启无线热点服务器,在Ubuntu系统的电脑上开启无线热点全攻略
  5. 微博视频怎么下载?微博视频下载和保存工具
  6. 3D视觉从入门到精通知识星球
  7. FBA海运到美国费用一般包含哪些?
  8. C++用户的Cplex使用指南(三)——Cutting stock problem求解
  9. SpringCloudAlibaba——Nacos实现原理详解
  10. Python Decorator的来龙