ClickHouse 客户端命令
生活随笔
收集整理的這篇文章主要介紹了
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-client2、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.csv6、執行sql文件
./clickhouse-client --user xxx --password xxx --multiquery < /root/temp.sql總結
以上是生活随笔為你收集整理的ClickHouse 客户端命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 恒生指数开盘时间
- 下一篇: 邮政etc信用卡额度不够怎么办?可以试试