iotdb时序数据库常见使用命令

发布时间 2023-11-01 22:33:10作者: 流浪のwolf

docker 安装IOTDB核心代码:

#docker启动
docker run -d -p 6667:6667 -p 31999:31999 -p 8181:8181 --name some-iotdb apache/iotdb

#进入容器
docker exec -it some-iotdb /bin/bash

#执行命令,连接IotDB
start-cli.sh

默认用户名和密码是:root/root

 

基本操作:

#连接
sbin/start-cli.sh

#插入数据,会自动创建分组
INSERT INTO root.iotdata.test_db.1234(timestamp, version,code3,code2,code1) values(1584602760341,'1.1.1','code3','code2','code1');

#显示时序序列测点
SHOW TIMESERIES
SHOW TIMESERIES root.iotdata
SHOW TIMESERIES root.iotdata.test_db

#显示分组
SHOW STORAGE GROUP

#添加分组
SET STORAGE GROUP TO root.ln

#往分组ln添加数据
INSERT INTO root.ln.aa(timestamp,bbb) values(1585384837018000000,112);

#查询最新一条数据
select last * from root.ln.aa

#查询最新一个测点
select last bbb from root.ln.aa

#删除分组test
delete storage group root.test

#删除序列下的所有测点
delete timeseries root.iotdata.test_db.*
delete timeseries root.iotdata.*

#按条件name = '11'查询最后时间, 比较慢
select max_time(name) from root.iotdata.test_db where name = '11'

#按条件name = '11'查询最后时间, 比较快
select name from root.iotdata.test_db where name = '11' order by time desc limit 1

iotDB过期策略

#毫秒 只保留近一个小时的数据
set ttl to root.ln 3600000 

#保留10天数据 60*60*24*10*1000=864000000
set ttl to root.iotdata 864000000  

#取消过期策略
UNSET TTL TO root.ln 

#显示所有策略
Show all ttl 

#显示一个group的ttl
Show ttl on root.ln 

#显示多个
SHOW TTL ON root.group1,root.group2,root.group3 

 

 

查看所有的数据库  

show databases

 创建数据库

create database root.ln

 

创建时间序列

数据在 IoTDB 中的组织形式是以时间序列为单位,每一个时间序列中有若干个数据-时间点对,每一个时间序列属于一个 database

CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN
CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE

 查看所欲的时间序列:

SHOW TIMESERIES
查看某一个时间序列
SHOW TIMESERIES root.ln.wf01.wt01.status
数据插入:
--向 root.ln.wf01.wt01.status 时间序列中插入数据,在插入数据时需要首先指定时间戳和路径后缀名称:
INSERT INTO root.ln.wf01.wt01(timestamp,status) values(100,true);
--向多个时间序列中同时插入数据,这些时间序列同属于一个时间戳
INSERT INTO root.ln.wf01.wt01(timestamp,status,temperature) values(200,false,20.71);

查询指定的时间序列:

--查询指定的时间序列
SELECT status FROM root.ln.wf01.wt01
--查询所有的时间序列
SELECT * FROM root.ln.wf01.wt01