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

👨?💻如需博文中的資料請私信博主。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/41373.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/41373.shtml
英文地址,請注明出處:http://en.pswp.cn/news/41373.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

GPT-5出世?OpenAI GPT-5商標已注冊

OpenAI的GPT已經成為了業界標桿&#xff0c;升級速度之快讓人瞠目&#xff0c;別人追GPT-3.5的時候GPT-4橫空出世&#xff0c;差距被拉開了&#xff0c;現在GPT-5就要來了。 據商標律師泄露的消息&#xff0c;OpenAI已于7月18日注冊了GPT-5商標。雖然注冊商標并不罕見&#xf…

【【萌新的STM32學習-9】】

萌新的STM32學習-9 我們在使用某個外設&#xff0c;必須線使能該外設時鐘 SYSTEM 文件夾里面的代碼由正點原子提供&#xff0c;是 STM32F1xx 系列的底層核心驅動函數&#xff0c; 可以用在 STM32F1xx 系列的各個型號上面&#xff0c;方便大家快速構建自己的工程。本章&#xf…

基于IMX6ULLmini的linux裸機開發系列二:使用C語言和SDK點亮LED

引入sdk頭文件 sudo chown -R gec /opt 用這條命令給gec賦權限&#xff0c;否則訪問權限不夠&#xff0c;無法讀取&#xff0c;如下圖成功 目的&#xff1a;解決寄存器地址難查難設置 devices/MCIMX6Y2/MCIMX6Y2.h 記錄外設寄存器及其相關操作 devices/MCIMX6Y2/drivers/fsl_…

Windows+VMware+Ubuntu+Anaconda+VMware Tools

Q1&#xff1a;Windows不支持***agent模擬器 A1&#xff1a;在VMware安裝Ubuntu虛擬機 P1: 下載 VMware-workstation-full-15.5.6-16341506.exe 安裝包&#xff08;峰哥電腦軟件&#xff09; P2: 下載Ubuntu鏡像 地址 ubuntu-18.04.6-desktop-amd64.iso P3&#xff1a;搭載鏡…

干翻Dubbo系列第十一篇:Dubbo常見協議與通信效率對比

文章目錄 文章說明 一&#xff1a;協議 1&#xff1a;什么是協議 2&#xff1a;協議和序列化關系 3&#xff1a;協議組成 &#xff08;一&#xff09;&#xff1a;頭信息 &#xff08;二&#xff09;&#xff1a;體信息 4&#xff1a;Dubbo3中常見的協議 5&#xff1a;…

華為在ospf area 0單區域的情況下結合pbr對數據包的來回路徑進行控制

配置思路&#xff1a; 兩邊去的包在R1上用mqc進行下一跳重定向 兩邊回程包在R4上用mqc進行下一跳重定向 最終讓內網 192.168.10.0出去的數據包來回全走上面R-1-2-4 192.168.20.0出去的數據包來回全走 下面R1-3-4 R2和R3就是簡單ospf配置和宣告&#xff0c;其它沒有配置&#…

搭建grafana+loki+promtail日志收集系統

準備工作 下載地址 https://github.com/grafana/loki/releases 安裝包放在服務器目錄&#xff1a;/opt wget https://github.com/grafana/loki/releases/download/v2.4.2/loki-linux-amd64.zip wget https://github.com/grafana/loki/releases/download/v2.4.2/promtail-lin…

【備戰csp-j】csp常考題目詳解(3)

三.排列組合 1. 7名學生站成一排&#xff0c;甲、乙必須站在一起有多少不同排法&#xff1f; 答案&#xff1a;1440 解析&#xff1a; 6組人進行全排列&#xff1a;A&#xff08;6,6&#xff09;&#xff1b; 甲和乙的順序有兩種情況&#xff0c;所以結果要再乘2&#xff1b; …

影響力再度提升,Smartbi多次蟬聯Gartner、IDC等權威認可

近期&#xff0c;思邁特軟件捷報頻傳&#xff0c;Smartbi憑借技術創新實力和產品能力&#xff0c;成功入選Gartner中國增強數據分析代表廠商及自助分析代表廠商&#xff0c;同時&#xff0c;連續三年蟬聯“IDC中國FinTech 50”榜單。 Part.1 再次被Gartner提名 Smartbi深度融…

重塑DTC規則:元氣森林的全渠道轉型

元氣森林作為迄今為止用5-6年時間最快達到70億年銷售額的飲料品牌&#xff08;統一、可口可樂、東鵬特飲都花了15年左右&#xff0c;康師傅花了10年&#xff09;。元氣森林于2016年在北京創立&#xff0c;憑借健康產品理念和新潮營銷方式&#xff0c;一款主打“0糖0卡0脂”概念…

激活函數總結(十一):激活函數補充(Absolute、Bipolar、Bipolar Sigmoid)

激活函數總結&#xff08;十一&#xff09;&#xff1a;激活函數補充 1 引言2 激活函數2.1 Absolute激活函數2.2 Bipolar激活函數2.3 Bipolar Sigmoid激活函數 3. 總結 1 引言 在前面的文章中已經介紹了介紹了一系列激活函數 (Sigmoid、Tanh、ReLU、Leaky ReLU、PReLU、Swish、…

C++ auto關鍵字

文章目錄 一、auto的推導規則二、auto的限制 C11 中有&#xff1a;auto 類型推導 auto x 5; // OK: x 是 int 類型 auto pi new auto(1); // OK: pi 被推導為 int* const auto *v &x, u 6; // OK: v是const int*類型&#xff0c;u是const int類型 static auto y 0.0;…

【Java】批量生成條形碼-itextpdf

批量生成條形碼 Controller ApiOperation("商品一覽批量生成商品條形碼")PostMapping("/batchGenerateProdBarCode")public void batchGenerateProdBarCode(RequestBody ProductListCondition productListCondition,HttpServletResponse response){import…

使用Spring-Security后,瀏覽器不能緩存的問題

Spring-Security在默認情況下是不允許客戶端進行緩存的&#xff0c;在使用時可以通過禁用Spring-Security中的cacheControl配置項允許緩存。 protected void configure(HttpSecurity http) throws Exception {// 允許緩存配置http.headers().cacheControl().disable(); }

Java中使用流將兩個集合根據某個字段進行過濾去重?

Java中使用流將兩個集合根據某個字段進行過濾去重? 在Java中&#xff0c;您可以使用流(Stream)來過濾和去重兩個集合。下面是一個示例代碼&#xff0c;展示如何根據對象的某個字段進行過濾和去重操作&#xff1a; import java.util.ArrayList; import java.util.List; impor…

“代碼馭寵而行“:探索Python的魔法世界,開啟編程奇幻之旅!

文章目錄 &#x1f340;引言&#x1f340;第一步&#xff1a;安裝Python和開發環境&#x1f340;第二步&#xff1a;掌握基本語法&#x1f340;第三步&#xff1a;使用Python庫和模塊&#x1f340;第四步&#xff1a;實踐項目和練習&#x1f340;第五步&#xff1a;學習進階主題…

origin修改默認的字體等

因為默認是中文宋體&#xff0c;每次切換成英文尤其是希臘字母就很麻煩。 選擇菜單欄的【設置】——【選項】點擊。 彈出窗口中選擇【文本字體】 設置成你需要的字體就好。 這里同樣可以更改頁面、圖等的默認設置。 效果&#xff1a; 選擇插入文字后&#xff0c;自動更改成…

銀河麒麟V10 達夢安裝教程

安裝前先準備要安裝包&#xff0c;包需要需要區分X86和arm架構。 版本為&#xff1a;dm8_20230419_FTarm_kylin10_sp1_64.iso 達夢數據庫下載地址&#xff1a; https://www.aliyundrive.com/s/Qm7Es5BQM5U 第一步創建用戶 su - root 1. 創建安裝用戶組 dminstall。 groupad…

前饋神經網絡優化器

引用的知乎上的文章內容&#xff0c;現在有些地方還不太明白&#xff0c;留待以后查看。 import math import numpy as np import matplotlib.pyplot as pltRATIO 3 # 橢圓的長寬比 LIMIT 1.2 # 圖像的坐標軸范圍class PlotComparaison(object):"""多種優化…

Python爬蟲的應用場景與技術難點:如何提高數據抓取的效率與準確性

作為專業爬蟲程序員&#xff0c;我們在數據抓取過程中常常面臨效率低下和準確性不高的問題。但不用擔心&#xff01;本文將與大家分享Python爬蟲的應用場景與技術難點&#xff0c;并提供一些實際操作價值的解決方案。讓我們一起來探索如何提高數據抓取的效率與準確性吧&#xf…