在influxdb中measurement相當於mysql中的表,可以理解為一條一條記錄都是存與measurent中的,一個數據庫中可以有多個measurement,一個measurement中可以存很多的數據。雖然可將measurement類比為mysql中的表,但是他們之間的差別也挺明顯的
首先我們先了解一下measurement的幾個常用命令,如何查看、新增刪除
1. show measurements
查看一個數據庫中有哪些measurement,屬於常規操作了
- 先確定數據庫
- 執行
show measurements
查看當前數據庫的所有measurement
> use test
Using database test
> show measurements
name: measurements
name
----
yhh
我們也可以在不執行use databaseName
的時候,進行查看;而且還支持按名進行匹配,語法為
SHOW MEASUREMENTS [ON <database_name>] [WITH MEASUREMENT <regular_expression>] [WHERE <tag_key> <operator> ['<tag_value>' | <regular_expression>]] [LIMIT_clause] [OFFSET_clause]
下面給出查詢指定數據庫中,以yhh開頭的所有measurement示例
> show measurements on test
name: measurements
name
----
doraemon
doraemon2
yhh
yhh2
> show measurements on test with measurement =~ /yhh*/
name: measurements
name
----
yhh
yhh2
2. 創建measurement
在influxdb中沒有專門用來創建measurement的命令,在執行向某個measurement新增記錄的時候,如果不存在measurement,則會新創建一個
下面是一條簡單的演示case
# 像userInfo中新增一條記錄,如果userInfo這個measurement不存在,則新建一個
> insert userInfo,name=一灰灰blog userId=10,blog="https://blog.hhui.top/"
> show measurements
name: measurements
name
----
doraemon
doraemon2
userInfo
yhh
yhh2
3. 刪除measurement
兩種方式,一個是把measurement里面的所有數據都刪完,那么這個measurement就沒了
> select * from userInfo
name: userInfo
time blog name userId
---- ---- ---- ------
1563712849953792293 https://blog.hhui.top/ 一灰灰blog 10
# 刪除userInfo中的記錄
> delete from userInfo where time=1563712849953792293
# 再次查看,發現userInfo已經被刪除
> show measurements
name: measurements
name
----
doraemon
doraemon2
yhh
yhh2
>
另外一種方式就是直接使用drop measurement
命令實現刪除
# 先創建userInfo
> insert userInfo,name=一灰灰blog userId=10,blog="https://blog.hhui.top/"
> show measurements
name: measurements
name
----
doraemon
doraemon2
userInfo
yhh
yhh2
# 直接使用drop語句刪除
> drop measurement userInfo
> show measurements
name: measurements
name
----
doraemon
doraemon2
yhh
yhh2
>
4. 修改
不同於mysql中的表,measurement是沒有修改操作的,從前面的創建操作也可以看出,對於measurement而言,也就只有一個名字,那如果我希望重命名現有的measurement,該怎么辦?
原則上不建議這么干,如果確實有需要,可以用下面的方式來變相實現
> show measurements
name: measurements
name
----
doraemon
doraemon2
userInfo
yhh
yhh2
# 使用select into語句實現將查詢結果保存到另外一個measurement中
> select * into userBaseInfo from userInfo
name: result
time written
---- -------
0 1
> show measurements
name: measurements
name
----
doraemon
doraemon2
userBaseInfo
userInfo
yhh
yhh2
> select * from userBaseInfo, userInfo
name: userBaseInfo
time blog name name_1 userId
---- ---- ---- ------ ------
1563713690876924095 https://blog.hhui.top/ 一灰灰blog 10
name: userInfo
time blog name name_1 userId
---- ---- ---- ------ ------
1563713690876924095 https://blog.hhui.top/ 一灰灰blog 10
>
II. 其他
0. 系列博文
- 190719-Influx Sql系列教程二:retention policy 保存策略
- 190717-Influx Sql系列教程零:安裝及influx-cli使用姿勢介紹
- 190509-InfluxDb之時間戳顯示為日期格式
- 190506-InfluxDB之配置修改
- 190505-InfluxDB之權限管理
- 180727-時序數據庫InfluxDB之備份和恢復策略
- 180726-InfluxDB基本概念小結
- 180725-InfluxDB-v1.6.0安裝和簡單使用小結
參考博文
1. 一灰灰Blog: https://liuyueyi.github.io/hexblog
一灰灰的個人博客,記錄所有學習和工作中的博文,歡迎大家前去逛逛
2. 聲明
盡信書則不如,已上內容,純屬一家之言,因個人能力有限,難免有疏漏和錯誤之處,如發現bug或者有更好的建議,歡迎批評指正,不吝感激
- 微博地址: 小灰灰Blog
- QQ: 一灰灰/3302797840
3. 掃描關注
一灰灰blog