wordpress电商优秀,郑州网站优化网络建设有限公司,招聘网站开发技术维护,注册安全工程师报名时间2023官网进入正文前#xff0c;感谢宝子们订阅专题、点赞、评论、收藏#xff01;关注IT贫道#xff0c;获取高质量博客内容#xff01; #x1f3e1;个人主页#xff1a;含各种IT体系技术#xff0c;IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 … 进入正文前感谢宝子们订阅专题、点赞、评论、收藏关注IT贫道获取高质量博客内容 个人主页含各种IT体系技术IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 订阅拥抱独家专题你的订阅将点燃我的创作热情 点赞赞同优秀创作你的点赞是对我创作最大的认可 ⭐️ 收藏收藏原创博文让我们一起打造IT界的荣耀与辉煌 ✏️评论留下心声墨迹你的评论将是我努力改进的方向 目录
1. Insert 插入
2. update 更新
3. delete 删除
4. 向表中导入导出数据 DML:Data Manipulation Language,数据操纵语言。ClickHouse中DML语言包含插入、更新、删除数据操作,DML操作仅适用MergeTree引擎,不能针对主键、分区键、排序键进行DML操作DML操作不支持事务一旦执行成功会立刻生效。
1. Insert 插入
insert 向表中插入数据。
insert 语法
INSERT INTO [db.]table [(c1, c2, c3)] VALUES (v11, v12, v13), (v21, v22, v23), ...或者INSERT INTO [db.]table Select ...
示例
#创建表 t_insert ,这里使用MergeTree引擎node1 :) create table t_insert (id UInt8 ,name String) engine MergeTree() order by id ;#向表 t_insert 中插入数据node1 :) insert into t_insert values (1,张三,18),(2,李四,19);#向表 t_insert 中插入数据node1 :) insert into t_insert select * from t_insert;
2. update 更新
由于ClickHouse针对的是OLAP业务分析Update操作在ClickHouse中不会经常使用。这种更新效率低下。
update 更新操作语法
ALTER TABLE [db.]table UPDATE column1 expr1 [, ...] WHERE filter_expr
示例
#创建表 t_update,使用MergeTree引擎node1 :) create table t_update (id UInt8,name String,age UInt8) engine MergeTree() order by id ;#向表 t_update中插入如下数据node1 :) insert into t_update values (1,张三,18),(2,李四,19)┌─id─┬─name─┬─age─┐│ 1 │ 张三 │ 18 ││ 2 │ 李四 │ 19 │└────┴──────┴─────┘#更新姓名为 张三的年龄为 22node1 :) alter table t_update update age 22 where name 张三;┌─id─┬─name─┬─age─┐│ 1 │ 张三 │ 22 ││ 2 │ 李四 │ 19 │└────┴──────┴─────┘
3. delete 删除
由于ClickHouse针对的是OLAP业务分析Delete操作与Update操作一样在ClickHouse中不会经常使用。这种删除效率低下。
delete 删除语法
ALTER TABLE [db.]table [ON CLUSTER cluster] DELETE WHERE filter_expr
示例
#创建表 t_delete,使用MergeTree引擎node1 :) create table t_delete (id UInt8,name String,age UInt8) engine MergeTree() order by id ;#向表 t_delete中插入以下数据node1 :) insert into t_update values (1,张三,18),(2,李四,19)┌─id─┬─name─┬─age─┐│ 1 │ 张三 │ 18││ 2 │ 李四 │ 19 │└────┴──────┴─────┘#删除 张三 此条数据node1 :) alter table t_delete delete where name 张三;┌─id─┬─name─┬─age─┐│ 2 │ 李四 │ 19 │└────┴──────┴─────┘ 4. 向表中导入导出数据
ClickHouse中支持多种数据格式数据导入和导出支持格式有ORC,Parquet,Avro,Protobuf,xml,json,csv等具体操作参照官网https://clickhouse.tech/docs/en/sql-reference/statements/alter/update/。下面以向表导入导出CSV格式数据为例操作
示例
#创建表 t_csv 执行引擎为MergeTreenode1 :) create table t_csv (id UInt8,name String,age UInt8) engine MergeTree order by id;#在ClickHouse客户端准备数据文件 csvdata 写入以下数据vim /root/csvdata1,张三,182,李四,193,王五,204,马六,215,田七,22#导入数据在ClickHouse-client中执行导入数据命令[rootnode1 ~]# clickhouse-client --format_csv_delimiter, --queryINSERT INTO newdb.t_csv FORMAT CSV /root/csvdata注意--format_csv_delimiter 指定分隔符#进入ClickHouse客户端查看表 t_csv中的数据node1 :) select * from t_csv;┌─id─┬─name─┬─age─┐│ 1 │ 张三 │ 18 ││ 2 │ 李四 │ 19 ││ 3 │ 王五 │ 20 ││ 4 │ 马六 │ 21 ││ 5 │ 田七 │ 22 │└────┴────┴─────┘#导出数据在ClickHouse-client中执行命令将数据导入到result文件中[rootnode1 ~]# clickhouse-client --format_csv_delimiter| --queryselect * from newdb.t_csv FORMAT CSV /root/result#查看导出的结果数据[rootnode1 ~]# cat result1|张三|182|李四|193|王五|204|马六|215|田七|22 如需博文中的资料请私信博主。