IoTDB 支援以下十種資料型別:
- BOOLEAN(布林值)
- INT32(整型)
- INT64(長整型)
- FLOAT(單精度浮點數)
- DOUBLE(雙精度浮點數)
- TEXT(長字串)
- STRING(字串)
- BLOB(大二進位制物件)
- TIMESTAMP(時間戳)
- DATE(日期)
建立
建立資料庫
CREATE DATABASE root.group_1.device_1
Database 的父子節點都不能再設定 database。例如在已經有root.ln
和root.sgcc
這兩個 database 的情況下,建立root.ln.wf01
database 是不可行的。系統將給出相應的錯誤提示,如下所示:
CREATE DATABASE root.ln.wf01
Msg: 300: root.ln has already been created as database.
Database 節點名只支援中英文字元、數字、下劃線、英文句號和反引號的組合,如果想設定為純數字或者包含下劃線和英文句號,需要用反引號(``
)把 database 名稱引起來。其中``
內,兩個反引號表示一個反引號,例如 ````
表示`
。
還需注意,如果在 Windows 系統上部署,database 名是大小寫不敏感的。例如同時建立root.ln
和 root.LN
是不被允許的。
建立序列
對於 FLOAT 與 DOUBLE 型別的序列,如果編碼方式採用 RLE
或 TS_2DIFF
,可以在建立序列時透過 MAX_POINT_NUMBER
屬性指定浮點數的小數點後位數。
CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=FLOAT, ENCODING=RLE, 'MAX_POINT_NUMBER'='2';
查詢
檢視資料庫
使用 SHOW DATABASES 語句如下所示:
IoTDB> show databases
IoTDB> show databases root.*
IoTDB> show databases root.**
新增Insert
插入單行資料
insert into root.ln.wf02.wt02(timestamp,status,hardware) values(now(),true,'dsss')
timestamp,status,hardware分別為root.ln.wf02.wt02資料庫中的序列
timestamp:時間戳,now()為當前時間戳
status:布林值
hardware:字串
插入多行資料
insert into root.ln.wf02.wt02(timestamp, status, hardware) VALUES (3, false, 'v3'),(4, true, 'v4')
省略 timestamp 列插入
時間戳使用當前的系統時間
insert into root.ln.wf02.wt02(status, hardware) values (false, 'v2')
修改
刪除
刪除資料庫
IoTDB > DELETE DATABASE root.ln
IoTDB > DELETE DATABASE root.sgcc
// 刪除所有資料,時間序列以及資料庫
IoTDB > DELETE DATABASE root.**
刪除資料
delete from root.device01.TEXT_2
刪除指定序列
delete timeseries root.device02.TEXT_2
刪除資料庫下的所有序列
delete timeseries root.device02.*