ClickHouse 客户端命令

文章目录

  • 一、简介
  • 二、常用命令
    • 1、连接命令
    • 2、SQL语法
      • (1)查看数据库列表
      • (2)查看当前使用的数据库
      • (3)查看数据库中表列表
      • (4)创建数据库
      • (5)创建表
      • (6)查看表结构
      • (7)删除表
      • (8)删除库
      • (9)清空数据
      • (10)插入数据
      • (11)查询
      • (12)重命名表
      • (13)添加列
      • (14)查看分区信息
      • (15)删除分区
      • (16)查看后台进程
      • (17)杀死后台进程
    • 3、导入csv数据
    • 4、导入数据时忽略错误
    • 5、导出csv数据
    • 6、执行sql文件


一、简介

进入ClickHouse安装目录下的bin目录下,执行如下命令:

./clickhouse-client --help

执行结果(只列举常用的参数):

--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      – 配置⽂件的名称。
...

二、常用命令

1、连接命令

./clickhouse-client -h [ip] --port [端口号] -u [用户名] --password [密码]

ClickHouse默认端口号为:9000
ClickHouse默认用户名为:default
ClickHouse默认密码为:空

如果ClickHouse的端口号、用户名、密码都使用的默认值,那么可用如下连接命令:

./clickhouse-client

2、SQL语法

(1)查看数据库列表

show databases;

(2)查看当前使用的数据库

select currentDatabase();

(3)查看数据库中表列表

show tables;

(4)创建数据库

create database test;

(5)创建表

-- 创建一个表(建表的时候指定数据类型,建表的时候一定要指定表引擎,要么使用-m,要么使用反斜杠,不然不能写多行)
create  table if not exists test.t1 ( \id UInt16,name String \
) ENGINE = Memory;

(6)查看表结构

desc test.t1;

(7)删除表

drop table if exists test.t1;

(8)删除库

drop database test;

(9)清空数据

truncate table test.t1;

(10)插入数据

insert into test.t1 (id, name) values (1, 'zhangsan'), (2, 'lishi');

(11)查询

select * from test.t1;

(12)重命名表

rename table tab1 to tab2;

(13)添加列

alter table tbl add column cost UInt32 default 0;

(14)查看分区信息

select partition, name, active from system.parts WHERE table = 't1';

(15)删除分区

alter table xxx drop partition '2018-08-08';

默认情况下,Clickhouse 不允许删除分区或表的大小大于 50GB 的分区或表。可以通过修改server的配置文件来永久配置,也可以临时设置一下来删除而不用重启服务。

永久配置:更改config.xml配置文件。

<!-- <max_table_size_to_drop>0</max_table_size_to_drop> -->
<!-- <max_partition_size_to_drop>0</max_partition_size_to_drop> -->	 

0表示不限制,或者你可以设置为你想限制的最大的大小。


(16)查看后台进程

-- 这个命令和mysql是一样的
show processlist
-- 如果进程太多,也可用通过查询系统表 processes,
select * from system.processes
-- 指定主要关心字段
select user,query_id,query,elapsed,memory_usage from system.processes;

(17)杀死后台进程

--  通过上面指令获取到进程相关信息后,可以用query_id条件kill进程
KILL QUERY WHERE query_id='2e33f3ae-f7e1-4c10-af8c-af96aff20837' 
-- 杀死default用户下的所有进程
KILL QUERY WHERE user='default'

3、导入csv数据

cat xxx.csv | clickhouse-client --query="insert into tablename format CSV"

指定分隔符:cat xxx.csv | clickhouse-client --format_csv_delimiter=“|” --query=“insert into tablename format CSV”

如果csv文件有列名,使用CSVWithNames,解析时,第一行会被直接忽略。

注意:query后面的=不能有空格。


4、导入数据时忽略错误

./clickhouse-client --input_format_allow_errors_num=100000 --input_format_allow_errors_ratio=0.2
  • --input_format_allow_errors_num:是允许的错误数;

  • --input_format_allow_errors_ratio:是允许的错误率,范围是 [0-1];


5、导出csv数据

./clickhouse-client --query="select * from test.t1 format CSV" > test.csv

6、执行sql文件

./clickhouse-client --user xxx --password xxx --multiquery <  /root/temp.sql

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/446674.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2000年考研英语阅读理解文章三

文章详细解析 注意点 1.当作者在文章中写到:实际问题是:我们从根本上改变了吗? 说明:我们没有发生根本上的改变,作者不同意前文中的未来派诗歌 知识点 ----单词 unhampered adj无阻碍的 finite adj有限的 ink n墨水 corresponding adj相应的,符合的 upsetting adj令人生厌…

SpringBoot 集成Mybatis

文章目录一、创建SpringBoot项目二、添加Mybatis相关依赖三、数据源配置四、创建事务的模型实体类五、创建和数据库交互联系的映射关系类六、创建业务接口和实现类七、创建控制器类八、请求验证一、创建SpringBoot项目 如何创建详见&#xff1a;IDEA 创建 SpringBoot 项目 二、…

C++primer 第 3 章 字符串、向量和数组 3.1 命名空间的using声明 3.2标准库类型string

引言 除了第2章介绍的内置类型之外,C语言还定义了 -个内容丰富的抽象数据类型库。其中,string和 vector是两种最重耍的标准库类型&#xff0c;前者支持可变长字符串&#xff0c;后者则 表示可变长的集合。还有…种标准库类型是迭代器&#xff0c;它是string和vector的配套类型…

ClickHouse 四舍五入函数

文章目录一、round(x[,N])二、floor(x[,N])三、ceil(x[,N]),ceiling(x[,N])四、trunc(x[, N]), truncate(x[, N])一、round(x[,N]) 说明&#xff1a;将值取整到指定的小数位数&#xff0c;该函数按顺序返回最近的数字。 语法&#xff1a; round(expression [, decimal_place…

codeforces 59A-C语言解题报告

59A题目网址 题目解析 1.输入字符串,如果大写字母最多,则全部输出为大写;如果小写字母多或大小写字母一样多,则全部输出为小写 举例: 输入: maTRIx 输出: matrix 2.使用a,b两个变量去记录大小写字母的数量 代码 #include<stdio.h> #include<stdlib.h> #includ…

C++primer 第 3 章 字符串、向量和数组 3 . 3 标准库类型vector

标准库类型vector表示对象的集合&#xff0c;其中所有对象的类型都相同。集合中的每个对象都有一个与之对应的索引&#xff0c;索引用于访问对象。因为vector"容纳着”其他对象&#xff0c;所以它也常被称作容器(container).第 II部将对容器进行更为详细的介绍。 要想使用…

SpringBoot AOP切面实现

文章目录一、AOP简介二、AOP体系与概念三、AOP实例1、创建SpringBoot工程2、添加依赖3、AOP相关注解3.1、Aspect3.2、Pointcut3.2.1、execution()3.2.2、annotation()3.3、Around3.4、Before3.5、After3.6、AfterReturning3.7、AfterThrowing一、AOP简介 AOP&#xff08;Aspec…

英语口语-文章朗读Week8 Friday

文章 It is a phenomenon that people are losing trust in each other in today’s society. Some people become selfish,and for interest, they are likely to betray their colleagues,friends, and even their relatives. They tend to cater to those who can benefit …

C++primer 第 3 章 字符串、向量和数组 3 . 4 迭代器介绍

3.4迭代器介绍 我们已经知道可以使用下标运算符来访问string对象的字符或vector对象的元素&#xff0c;还有另外一种更通用的机制也可以实现同样的目的&#xff0c;这就是迭代器&#xff08;iterator&#xff09;。在第II部分中将要介绍&#xff0c;除了vector之外&#xff0c…

ClickHouse 函数

文章目录一、日期函数1、时间或日期截取函数&#xff08;返回非日期&#xff09;2、时间或日期截取函数&#xff08;返回日期&#xff09;3、日期或时间日期生成函数二、类型转化类函数1、精度保留&#xff08;非四舍五入&#xff09;2、字符串转化为整数&#xff08;非整数的字…

英语口语-文章朗读Week9 TuesDay

朗读文章 People living in ancient times had no alternative but to do housework manually. They fire the wood when they cook,they hand wash clothes with hands; they sweep the floor with brooms. Now, modern inventions come as a great relief to people. We co…

SpringBoot @Value注解

目录一、非配置文件注入1、注入普通字符串2、注入JAVA系统变量3、注入表达式4、注入其他Bean属性5、注入文件资源6、注入URL资源二、通过配置文件注入1、注入普通字符串2、注入基本类型3、注入数组类型4、注入List类型5、注入Map类型一、非配置文件注入 1、注入普通字符串 直…

C++primer 第 3 章 字符串、向量和数组 3 . 5 数组

3.5数组 数组是一种类似于标准库类型vector&#xff08;参见3.3节&#xff0c;第86页&#xff09;的数据结构&#xff0c;但是在性能和灵活性的权衡上又与vector有所不同。与vector相似的地方是&#xff0c;数组也是存放类型相同的对象的容器&#xff0c;这些对象本身没有名字…

codeforces 122A-C语言解题报告

122A题目网址 题目解析 1.输入数字(在1000以内),若能被4,7幸运数整除或只含4,7则输出YES,否则输出NO 举例: 输入: 107 输出: NO 2.解题关键: 1)使用列举法,把所有符合的幸运数列出来(int number[]) 1—2 2–224 3–22*28 24814个 2)若n是幸运数中的一个或n%幸运数0,则为YES…

SpringBoot @Value给静态变量注入值

文章目录一、简介二、Value给静态变量注入值方案一&#xff1a;set()方法设置方案二&#xff1a;PostConstruct注解修饰的方法中进行赋值三、总结一、简介 SpringBoot 中给普通变量注入值只需在变量上添加 Value 注解即可。 application.properties 配置文件有如下配置&#…

C++primer 第 4 章 表达式 4.1基础 4 . 2 算术运算符 4 .3 逻辑和关系运算符 4 . 4 赋值运算符 4 .5 递增和递减运算符 4.6成员访问运算符

表达式由一个或多个运算对象(operand)组成&#xff0c;对表达式求值将得到一个结果(result)字面值和变量是最简单的表达式(expression),其结果就是字面值和变量的值。把一个运算符(operator)和一个或多个运算对象组合起来可以生成较复杂的表达式 4.1基础 有几个基础概念对表达…

codeforces 266B-C语言解题报告

266B题目网址 题目解析 输入n,t,排队情况s,输出第t次循环后,排队情况 举例: 输入: 5 1 BGGBG 输出: GBGGB 2.输入的n代表排队的人数,t代表整个循环t次之后再输出结果 3.注意点: 使用while()大循环去控制t次的循环,使用for()内层循环去遍历整个字符串 如果if(s[j]‘B’&…

Nginx Location配置详解

目录一、语法二、匹配顺序三、root 与 alias 的区别四、server 和 location 中的 root一、语法 Location 是 Nginx 中一个非常核心的配置&#xff0c;关于Location&#xff0c;举个简单的配置例子&#xff1a; server {listen 80;server_name 10.0.7.115;location / {root /d…

英语口语-文章朗读Week9 Wednesday

英语文章 Birds of the same species flock together&#xff0c; People tend to look for someone like themselves to be friends. But having the same interests is not the only standard when we are seeking friends. In most cases, especially for adults, people l…

C++primer 第 4 章 表达式 4.7条件运算符 4.8位运算符 4.9 sizeof运算符 4.10逗号运算符 4.11类型转换 4 . 1 2 运算符优先级表

4.7条件运算符 条件运算符(?&#xff1a;)允许我们把简单的if else逻辑嵌入到单个表达式当中&#xff0c;条件运算符按照如下形式使用&#xff1a;cond ? expr1 : expr2;其中cond是判断条件的表达式&#xff0c;而expr1和expr2是两个类型相同或可能转换为某个公共类型的表达…