一、链接
sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw 密码
进入后,显示 IoTDB> 提示符后
执行IoTDB 专属 SQL ,每条语句必须带分号;
退出:quit; 或 exit;
二、查看信息类
-- 查看版本
show version;
-- 查看集群节点信息(单机会看到ConfigNode+DataNode)
show cluster;
-- 查看系统变量(副本数、集群名等)
show variables;
-- 热加载配置文件(前面配置文件修改后)
load configuration;
-- 动态修改部分参数(部分支持,不用重启)
set configuration dn_rpc_max_connection='2000';
三、数据库层次操作(Database)
-- 创建数据库(IoTDB数据库对应存储组,root下创建)
create database root.factory;
-- 查看所有数据库
show databases;
-- 删除数据库(会删除库下所有时序和数据,谨慎!)
delete database root.factory;
-- 查看分区信息
show regions;
-- 手动触发合并(生产慎用,会占用IO)
merge;
-- 查看磁盘TsFile文件信息
show tsfiles root.factory;
三、时间序列(测点 timeseries)管理
-- 创建单个时序,路径:root.factory.device01.temp,数据类型FLOAT
create timeseries root.factory.device01.temp FLOAT;
-- 创建对齐时序(同设备多测点共用时间戳,推荐)
create aligned timeseries root.factory.device01(status BOOLEAN,humidity FLOAT);
-- 查询所有时序,支持通配符
show timeseries root.factory.**;
-- 统计时序总数
count timeseries root.factory.**;
-- 删除时序(只删测点元数据,连带数据)
delete timeseries root.factory.device01.temp;
-- 查看子路径(查看设备层级)
show child paths root.factory;
四、数据管理
-- 普通时序插入,时间戳可以毫秒长整型
insert into root.factory.device01(timestamp,temp) values(10000000000,20.6);
-- 对齐时序插入
insert into root.factory.device01(timestamp,status,humidity) values(10000000000,true,40.2);
-- 查询全部原始数据
select * from root.factory.device01;
-- 查询指定测点
select temp,humidity from root.factory.device01;
-- 按时间范围过滤
select temp from root.factory.device01 where time >= 1750000000000 and time <= 1750000060000;
-- 聚合函数 avg、max、min、sum、count、first、last
select avg(temp),max(temp),min(temp) from root.factory.device01;
-- 按时间窗口聚合(分组,10分钟一个窗口)
select avg(temp) from root.factory.device01 group by ([1750000000000,1750000600000),10m);
-- 查看最新一条数据
select last(temp) from root.factory.device01;
-- 删除指定时间区间的数据
delete from root.factory.device01.temp where time < 1750000000000;
五、用户管理
-- 创建用户
create user testuser '123456';
-- 列出所有用户
list user;
-- 授权
grant all privileges on root.** to testuser;
-- 回收权限
revoke all privileges on root.** from testuser;
-- 修改密码
alter user root set password 'newpass';