当前位置: 首页 > news >正文

ClickHouse(二十二):Clickhouse SQL DML操作及导入导出数据

 进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注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中执行导入数据命令[root@node1 ~]# clickhouse-client --format_csv_delimiter="," --query="INSERT 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文件中[root@node1 ~]# clickhouse-client --format_csv_delimiter="|" --query="select * from newdb.t_csv FORMAT CSV" > /root/result#查看导出的结果数据[root@node1 ~]# cat result1|"张三"|182|"李四"|193|"王五"|204|"马六"|215|"田七"|22

👨‍💻如需博文中的资料请私信博主。


相关文章:

ClickHouse(二十二):Clickhouse SQL DML操作及导入导出数据

进入正文前&#xff0c;感谢宝子们订阅专题、点赞、评论、收藏&#xff01;关注IT贫道&#xff0c;获取高质量博客内容&#xff01; &#x1f3e1;个人主页&#xff1a;含各种IT体系技术&#xff0c;IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 &…...

Vue 2自定义指令入门

Vue 2自定义指令入门 Vue自定义指令允许我们在DOM元素上添加自己想要的行为来扩展Vue的功能。 一个自定义指令需要一个名称和一个定义对象。在定义对象中&#xff0c;你可以使用一些钩子函数来控制指令的行为&#xff1a; bind&#xff1a;在指令被绑定到元素上时使用&#…...

【Sklearn】基于AdaBoost算法的数据分类预测(Excel可直接替换数据)

【Sklearn】基于AdaBoost算法的数据分类预测(Excel可直接替换数据) 1.模型原理2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果1.模型原理 AdaBoost(Adaptive Boosting)是一种集成学习算法,它通过组合多个弱分类器来构建一个更强大的分类器。下面是AdaBo…...

Docker+Selenium Grid搭建自动化测试平台

安装docker yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager –add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install docker-ce -y Create a Docker Network docker network create grid 下载镜像 hu…...

Django图书商城系统实战开发-总结经验之后端开发

Django图书商城系统实战开发-总结经验之后端开发 简介 在这篇博客中&#xff0c;我将总结经验分享后端开发Django图书商城系统的过程。在开发过程中&#xff0c;我遇到了各种挑战和问题&#xff0c;并且通过实践获得了宝贵的经验和教训。通过本文&#xff0c;我希望能帮助读者…...

LeetCode[1288]删除被覆盖区间

难度&#xff1a;Medium 题目&#xff1a; 给你一个区间列表&#xff0c;请你删除列表中被其他区间所覆盖的区间。 只有当 c < a 且 b < d 时&#xff0c;我们才认为区间 [a,b) 被区间 [c,d) 覆盖。 在完成所有删除操作后&#xff0c;请你返回列表中剩余区间的数目。 示…...

QT connect使用简单介绍

如图&#xff0c;首先 connect是线程安全的。其次它有很多重载&#xff0c;当然最重要的还是QT4连接和QT5连接的区别&#xff0c;这个函数重载表示connect函数也是支持lambda函数的。 connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)connec…...

【云原生】kuberneter中Helm入门到实践

引言 helm是k8s的包管理工具&#xff0c;使用helm&#xff0c;可以使用更为简化和系统化的方式对k8s应用进行部署、升级。 helm是CNCF已毕业的项目&#xff0c;社区也是相当活跃的&#xff0c;在 https://artifacthub.io/ 上&#xff0c;能找到很多现成的helm chart&#xff…...

编译鸿蒙codelabs安装时报错

学习鸿蒙ArkTS时编译codelabs样例代码&#xff0c;发现编译完成报错。目前鸿蒙的资料比较少&#xff0c;且官方文档路径很深&#xff0c;遂记录下来&#xff0c;以资来者。 error: failed to start ability. Error while Launching activity修改module.json5中的exported为tru…...

设计模式

本文主要介绍设计模式的主要设计原则和常用设计模式。 一、UML画图 1.类图 2.时序图 二、设计模式原则 1.单一职责原则 就是一个方法、一个类只做一件事&#xff1b; 2.开闭原则 就是软件的设计应该对拓展开放&#xff0c;对修改关闭&#xff0c;这在java中体现最明显的就…...

用gdal库读取tif影像并填充边缘,并根据窗口大小滑动裁剪裁剪(包含gdal转PIL)

相关文章 PIL&#xff0c;OPENCV之间的转换关系_pil cvtcolor(image)_番茄就要炒鸡蛋的博客-CSDN博客 python GDAL和PIL图像转换_gdal.readasarray和pil_llc的足迹的博客-CSDN博客 一、原始数据 二、分别读取数据 1、gdal读取的array 2、pil读取的array 三、 gdal转pil image …...

sqlserver数据库导出到mysql

爱到分才显珍贵&#xff0c;很多人都不懂珍惜拥有&#xff0c;只到失去才看到&#xff0c;其实那最熟悉的才最珍贵的。 这里只介绍一种方式&#xff0c;有很多的方式。 1.使用Navicat 安装 下载 2.工具 数据传输 3.选择源和目标 然后开始 4.最好导入前备份一下库...

【抓包工具】whistle抓包工具分享

一、使用场景 抓包请求转发 二、基础篇 官网&#xff1a;http://wproxy.org/whistle/ github: https://github.com/avwo/whistle 简介&#xff1a; whistle(读音[ˈwɪsəl]&#xff0c;拼音[wēisǒu])基于Node实现的跨平台web调试代理工具&#xff0c;类似的工具有Window…...

docker可视化工具Portainer

1:Portainer简介 Portainer是一个docker可视化管理工具&#xff0c;可以非常方便地管理docker镜像容器。官网地址&#xff1a;https://www.portainer.io/ 注&#xff1a;现在Portainer有BE&#xff08;收费&#xff09;和CE&#xff08;免费&#xff09;版本&#xff0c;安装的…...

售后服务管理系统哪家好?云部署的售后服务软件有什么优势?

如今&#xff0c;越来越多的企业开始利用数字化系统来监控他们建造、操作或维护的高科技设备的技术属性。然而&#xff0c;仍然有很多公司依赖于孤立的低技术解决方案&#xff0c;比如使用Excel电子表格和手动流程来管理工作。当然&#xff0c;对于一家公司来说&#xff0c;寻找…...

laravel-admin之 解决上传图片不显示 $form->image(‘image‘); 及 $grid->column(‘image‘);

参考 https://blog.csdn.net/u013164285/article/details/106017464 $grid->column(‘image’)->image(‘http://wuyan.cn’, 100, 100); // //设置服务器和宽高 图片上传的域名 上传的图片不显示 在 这里设置了图片的上传路径 在这里设置 域名 就可以回显图片...

运营商三要素 API:构建安全高效的身份验证系统

当今数字化的世界中&#xff0c;身份验证是各行各业中至关重要的一环。为了保护用户的隐私和数据安全&#xff0c;企业需要寻求一种既安全可靠又高效便捷的身份验证方式。运营商三要素 API 应运而生&#xff0c;为构建安全高效的身份验证系统提供了有力的解决方案。 运营商三要…...

使用 BERT 进行文本分类 (01/3)

摄影&#xff1a;Max Chen on Unsplash 一、说明 这是使用 BERT 语言模型的一系列文本分类演示的第一部分。以文本的分类作为例&#xff0c;演示它们的调用过程。 二、什么是伯特&#xff1f; BERT 代表 来自变压器的双向编码器表示。 首先&#xff0c;转换器是一种深度学习模…...

layui第三方组件cron的使用

1. 首先上代码 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>cron表达式生成</title><meta name"renderer" content"webkit" /><meta http-equiv"X-UA-Compatible" con…...

Linux 信号的基本概念

信号的基本概念 1. 信号的概念 信号是Linux系统响应某些条件产生的一些事件。接收到信号的进程会相应地采取一些行动。 2. 信号的生成 信号是由于某些错误条件而生成的&#xff0c;如内存段冲突、浮点处理器错误或非法指令等。信号的生成其实就是一种软件层次的中断&#x…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...