Influx Sql系列教程六:insert 修改数据

简介: 在influxdb中没有专门的修改数据的update语句,对于influxdb而言,如果想修改数据,还是得使用我们前面的说到的insert来实现,那么怎么判断一条insert语句是插入还是修改呢?

在influxdb中没有专门的修改数据的update语句,对于influxdb而言,如果想修改数据,还是得使用我们前面的说到的insert来实现,那么怎么判断一条insert语句是插入还是修改呢?


1. insert数据修改


关于insert的使用语法,可以参考上一篇博文:190726-Influx Sql系列教程五:insert 添加数据


这里只是贴一下基本语法


insert into <retention policy> measurement,tagKey=tagValue fieldKey=fieldValue timestamp
复制代码


如果我们希望修改一条数据,比如修改既有的field,或者增加/删除field时,我们需要指定具体的时间戳和tag


下面是一个简单的修改演示

> select * from add_test where time=1564149327925320596
name: add_test
time                age boy email            name  phone user_id
----                --- --- -----            ----  ----- -------
1564149327925320596         bangzewu@126.com YiHui 110   20
> show tag keys from add_test
name: add_test
tagKey
------
name
phone
> insert add_test,name=YiHui,phone=110 user_id=20,email="bangzewu@126.com",boy=true,age=18i 1564149327925320596
> select * from add_test where time=1564149327925320596
name: add_test
time                age boy  email            name  phone user_id
----                --- ---  -----            ----  ----- -------
1564149327925320596 18  true bangzewu@126.com YiHui 110   20
复制代码


在上面的case中,我们执行的的insert语句来修改某条已有的记录时,有几个参数必须存在


  • time: 指定为要要改记录的时间戳
  • tag: 所有的tag都必须和要修改的数据一致 name=YiHui,phone=110


然后field的内容,会增量修改之前的数据,如下


> insert add_test,name=YiHui,phone=110 boy=true,age=19i 1564149327925320596
> select * from add_test where time=1564149327925320596
name: add_test
time                age boy  email            name  phone user_id
----                --- ---  -----            ----  ----- -------
1564149327925320596 19  true bangzewu@126.com YiHui 110   20
复制代码


通过上面的insert,可以动态新增field,但是如果我希望删除field怎么办?


  • 目前提供的influxdb sql中没有找到删除field的方式,一个可供选择的方式就是把原来的记录删掉;然后再重新插入一条


如果需要修改tag怎么办?


  • 前面的case已经表明,修改记录是根据 time + tag values来唯一定位记录,然后执行删除的,如果你需要修改一个tag,对insert语句而言就是新增了一个point;这个时候可以考虑由自己来删除旧的数据



相关文章
|
1月前
|
SQL 人工智能 JSON
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
简介:本文整理自阿里云高级技术专家李麟在Flink Forward Asia 2025新加坡站的分享,介绍了Flink 2.1 SQL在实时数据处理与AI融合方面的关键进展,包括AI函数集成、Join优化及未来发展方向,助力构建高效实时AI管道。
476 43
|
1月前
|
SQL 人工智能 JSON
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
本文整理自阿里云的高级技术专家、Apache Flink PMC 成员李麟老师在 Flink Forward Asia 2025 新加坡[1]站 —— 实时 AI 专场中的分享。将带来关于 Flink 2.1 版本中 SQL 在实时数据处理和 AI 方面进展的话题。
160 0
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
|
2月前
|
SQL
SQL如何只让特定列中只显示一行数据
SQL如何只让特定列中只显示一行数据
|
2月前
|
SQL
SQL中如何删除指定查询出来的数据
SQL中如何删除指定查询出来的数据
|
2月前
|
SQL 关系型数据库 MySQL
SQL如何对不同表的数据进行更新
本文介绍了如何将表A的Col1数据更新到表B的Col1中,分别提供了Microsoft SQL和MySQL的实现方法,并探讨了多表合并后更新的优化方式,如使用MERGE语句提升效率。适用于数据库数据同步与批量更新场景。
|
3月前
|
SQL DataWorks 数据管理
SQL血缘分析实战!数据人必会的3大救命场景
1. 开源工具:Apache Atlas(元数据管理)、Spline(血缘追踪) 2. 企业级方案:阿里DataWorks血缘分析、腾讯云CDW血缘引擎 3. 自研技巧:在ETL脚本中植入版本水印,用注释记录业务逻辑变更 📌 重点总结:
|
4月前
|
SQL 数据挖掘 关系型数据库
【SQL 周周练】一千条数据需要做一天,怎么用 SQL 处理电表数据(如何动态构造自然月)
题目来自于某位发帖人在某 Excel 论坛的求助,他需要将电表缴费数据按照缴费区间拆开后再按月份汇总。当时用手工处理数据,自称一千条数据就需要处理一天。我将这个问题转化为 SQL 题目。
171 12
|
SQL JSON 数据库
influxdb 端点使用http进行sql查询,写数据
influxdb 端点使用http进行sql查询,写数据
641 0
|
11月前
|
SQL 移动开发 Oracle
SQL语句实现查询连续六天数据的方法与技巧
在数据库查询中,有时需要筛选出符合特定时间连续性条件的数据记录
|
11月前
|
SQL 数据挖掘 数据库
SQL查询每秒的数据:技巧、方法与性能优化
id="">SQL查询功能详解 SQL(Structured Query Language,结构化查询语言)是一种专门用于与数据库进行沟通和操作的语言