Influx Sql系列教程三:measurement 表
阿新 • • 發佈:2019-12-31
在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,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: liuyueyi.github.io/hexblog
一灰灰的個人部落格,記錄所有學習和工作中的博文,歡迎大家前去逛逛
2. 宣告
盡信書則不如,已上內容,純屬一家之言,因個人能力有限,難免有疏漏和錯誤之處,如發現bug或者有更好的建議,歡迎批評指正,不吝感激
- 微博地址: 小灰灰Blog
- QQ: 一灰灰/3302797840
3. 掃描關注
一灰灰blog