C/C++教程

ClickHouse学习(四)SQL操作

本文主要是介绍ClickHouse学习(四)SQL操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

  • 数据导入
  • 数据导出

INSERT INTO 数据库名.表名 [(c1, c2, c3)] VALUES (v11, v12, v13), (v21, v22, v23), ...

insert into t_order_mt values
(101,'sku_001',1000.00,'2021-08-01 12:00:00'),
(101,'sku_002',2000.00,'2021-08-01 12:00:00');

虽然clickhouse提供了删除和修改的功能但是其原理还是需要和alter语法相结合而且不支持事务。

删除表中某一元素

ALTER TABLE [数据库名.]表名 delete where 字段 = '属性值';

alter table t_order_smt delete where sku_id ='sku_001';

在这里插入图片描述

删除表中某一列

ALTER TABLE 表名 DROP COLUMN [IF EXISTS] 字段名

alter table t_order_mt drop column total_amount;

在这里插入图片描述
删除表

DROP TABLE 表名

drop table t_order_mt;

在这里插入图片描述
在这里插入图片描述

增加一列

ALTER TABLE 表名 ADD COLUMN 列名 字段类型 AFTER 已有的列

alter table t_order_rmt add column test String after sku_id;

在这里插入图片描述
添加注释

ALTER TABLE 表名 COMMENT 字段名 'xxxxxxxxxx'

alter table t_order_rmt comment column test '测试添加注释';

在这里插入图片描述
更改列的类型

ALTER TABLE 表名 MODIFY COLUNM 字段名 字段类型

alter table t_order_rmt modify column test int;

在这里插入图片描述

和mysql基本一致就不写了,具体的官网写的很详细了
https://clickhouse.tech/docs/zh/sql-reference/statements/select/
注意:

  • 它支持各种join,但是join操作无法使用缓存,所以即使是两次相同的join语句,clickhouse也会视为两条新sql
  • 不支持自定义函数
  • 窗口函数也还在测试

数据导入

数据
在这里插入图片描述

csv形式

 cat test.csv | clickhouse-client --query="insert into im_test format CSV";

在这里插入图片描述
自定义分割符
在这里插入图片描述

cat test.csv | clickhouse-client --format_csv_delimiter="|" --query="INSERT INTO im_test FORMAT CSV";

在这里插入图片描述

数据导出

 clickhouse-client --query "select * from im_test where age=23" --format CSVWithNames> /root/test2.csv

在这里插入图片描述

这篇关于ClickHouse学习(四)SQL操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!