在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;這個時候可以考慮由自己來刪除舊的數據
II. 其他
0. 系列博文
- 190726-Influx Sql系列教程五:insert 添加數據
- 190723-Influx Sql系列教程四:series/point/tag/field
- 190721-Influx Sql系列教程三:measurement 表
- 190719-Influx Sql系列教程二:retention policy 保存策略
- 190718-Influx Sql系列教程一:database 數據庫
- 190717-Influx Sql系列教程零:安裝及influx-cli使用姿勢介紹
- 190509-InfluxDb之時間戳顯示為日期格式
- 190506-InfluxDB之配置修改
- 190505-InfluxDB之權限管理
- 180727-時序數據庫InfluxDB之備份和恢復策略
- 180726-InfluxDB基本概念小結
- 180725-InfluxDB-v1.6.0安裝和簡單使用小結
參考博文
- https://docs.influxdata.com/influxdb/v1.7/concepts/glossary
- https://docs.influxdata.com/influxdb/v1.7/query_language/schema_exploration
- https://docs.influxdata.com/influxdb/v1.7/tools/shell/#write-data-to-influxdb-with-insert
1. 一灰灰Blog: https://liuyueyi.github.io/hexblog
一灰灰的個人博客,記錄所有學習和工作中的博文,歡迎大家前去逛逛
2. 聲明
盡信書則不如,已上內容,純屬一家之言,因個人能力有限,難免有疏漏和錯誤之處,如發現bug或者有更好的建議,歡迎批評指正,不吝感激
- 微博地址: 小灰灰Blog
- QQ: 一灰灰/3302797840
3. 掃描關注
一灰灰blog