ClickHouse删除/更新数据(UPDATE/DELETE/DROP)与普通的sql语法有点不一样,故记录一下。

一、删除表

DROP table db.视图表 ON CLUSTER cluster_name;
DROP table db.本地表 ON CLUSTER cluster_name;

二、数据删除

1、按分区删除

ALTER TABLE db_name.table_name DROP PARTITION '20200601'

2、按条件删除

ALTER TABLE db_name.table_name DELETE WHERE day = '20200618'

三、数据更新

ALTER TABLE <table_name> UPDATE col1 = expr1, ... WHERE <filter>

注意:
1. 该命令必须在版本号大于1.1.54388才可以使用,适用于 mergeTree 引擎

2. 该命令是异步执行的,可以通过查看表 system.mutations 来查看命令的是否执行完毕

举例:

select event_status_key, count(*) from test_update where event_status_key in (0, 22) group by event_status_key;ALTER TABLE test_update UPDATE event_status_key=0 where event_status_key=22;select event_status_key, count(*) from test_update where event_status_key in (0, 22) group by event_status_key;

四、Clickhouse更新限制:

1、索引列不能进行更新

:) ALTER TABLE test_update UPDATE event_key = 41 WHERE event_key = 40;
Code: 420. DB::Exception: Received from localhost:9000, ::1. DB::Exception: Cannot UPDATE key column `event_key`.

2、分布式表不能进行更新
Code: 48. DB::Exception: Received from localhost:9000, ::1. DB::Exception: Mutations are not supported by storage Distributed.

ALTER TABLE UPDATE/DELETE不支持分布式DDL,因此需要在分布式环境中手动在每个节点上local的进行更新/删除数据。

3、不适合频繁更新或point更新

由于Clickhouse更新操作非常耗资源,如果频繁的进行更新操作,可能会弄崩集群,请谨慎操作。

ClickHouse 数据删除更新相关推荐

  1. MySQL 学习笔记(4)— 组合查询、子查询、插入数据、更新/删除表数据、增加/删除表中的列以及重命名表

    1. 组合查询 1.表的加减法 表的加法,即求 product 和 product2 的并集,UNION 运算会除去重复的记录 SELECT product_id, product_name FROM ...

  2. Python使用SQLAlchemy连接数据库并创建数据表、插入数据、删除数据、更新表、查询表(CRUD)

    Python使用SQLAlchemy连接数据库并创建数据表.插入数据.删除数据.更新表.查询表(CRUD) 目录 Python使用SQLAlchemy连接数据库并创建数据表 #SQLAlchemy # ...

  3. MySQL删除退出后数据未更新,mysql一不小心删除了数据或更新了数据没有加where 条件...

    mysql一不小心删除了数据或更新了数据没有加where 条件 1,show variables like '%log_bin%'; 2.show master logs; 3.show master ...

  4. SQL Server 表中有重复的数据,无法对重复数据进行更新或删除。

    SQL Server 表中有重复的数据,无法对重复数据进行更新或删除. 弹出错误信息提示窗口提示"已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行(2行). 通常这种情况是因为表 ...

  5. MySQL数据库表怎么进行添加数据、更新数据和删除数据操作——MySQL 5.7数据库

    文章目录 表的数据操作 一. 表记录的插入 1.使用`insert into| replace`语句添加数据 2.利用`load data`语句将TXT文本数据装入数据库表中 3.使用set子句插入数 ...

  6. 删除表格一行数据并更新后表格数据无变化的解决方法

    最近在一个小项目中遇到这样一个问题,我在前端页面中删除表格中的一行数据,数据库中已经删除,且重新更新了数据并显示,但是表格重新显示的还是之前的数据.查阅网上的资料后,尝试网友的方法,使用v-showC ...

  7. eclipse给mysql修改表数据_Eclipse中java向数据库中添加数据,更新数据,删除数据...

    ASP.NET网页动态添加.更新或删除数据行 看过此篇 http://www.cnblogs.com/insus/p/3247935.html的网友,也许明白Insus.NET是怎样实现动态添加数据行 ...

  8. ArcEngine数据删除几种方法和性能比较

    转自原文 ArcEngine数据删除几种方法和性能比较 一.  几种删除方法代码 1.  查询结果中删除 private void Delete1(IFeatureClass PFeatureclas ...

  9. Android零基础入门第44节:ListView数据动态更新

    2019独角兽企业重金招聘Python工程师标准>>> 经过前面几期的学习,关于ListView的一些基本用法大概学的差不多了,但是你可能发现了,所有ListView里面要填充的数据 ...

最新文章

  1. LeetCode实战:求众数
  2. Python 21 Flask(二)上下文管理详解
  3. HD 2602 Bone Collector (0-1背包)
  4. 函数调用的参数太少c语言,调用input_message的参数太少在主函数中 是神马意思 大神们帮帮我...
  5. Laravel核心解读--Database(一)基础介绍
  6. python 调用另一个py_Python打包:setuptools与setup.py/.cfg入门简介
  7. Jquery-数组删除元素
  8. WCF 4.0一个鲜为人知的改变[兼书名征集]
  9. 大数据技术_ 基础理论 之 数据采集与预处理
  10. 百战程序员python资源_Python【北京尚学堂·百战程序员】
  11. jsonrpc php使用,Json-RPC 的 PHP 扩展 php-JsonRPC
  12. 基于ThinkPHP5+MySQL的超市进销存管理系统
  13. Excel插件:方方格子
  14. 第三天python作业
  15. C语言中的四舍六入五成双 和 四舍五入
  16. 2022年第五届中青杯数学建模-时间序列预测模型及基于多特征条件下的决策优化
  17. prompt tuning
  18. 使用cmd命令导入导出数据库
  19. model java_编程中的 Model 到底是什么?
  20. iOS 面试题--转自唐巧

热门文章

  1. 关于诺基亚n86破解刷机
  2. 各类特殊开关电源问题解决方案
  3. 《解剖PetShop》系列之六(spirng zhang)
  4. 马方发现mh370强有力线索 已禁止机长独处驾驶舱
  5. 【求助】SpringMVC发生500错误
  6. Matcher方法说明
  7. Windows10睡眠模式下过一段时间自动关机解决方法
  8. Request Id
  9. unity 材质球无法编辑_游戏资源工具(一):Unity中处理材质球过期属性工具
  10. python期中考试试卷分析_期中考试试卷分析及工作总结