圆咕噜咕噜 发表于 2024-11-17 10:53:12

IoTDB 入门教程 基础篇⑥——数据库SQL操作 | 数据库管理和数据读写

一、前文

   IoTDB入门教程——导读
    本博文主要报告数据库管理和数据读写
二、数据库管理

2.1 创建数据库

   CREATE DATABASE root.ln
IoTDB> CREATE DATABASE root.test
Msg: The statement is executed successfully.
注意:必须是root.开头
这一点也是我不停吐槽的地方,为啥要限制必须root.开头呢?
全部都是root.开头不就等于全部都没有root.开头。意义何在呢。
IoTDB> CREATE DATABASE test
Msg: org.apache.iotdb.jdbc.IoTDBSQLException: 700: Error occurred while parsing SQL to physical plan: line 1:16 mismatched input 'test' expecting ROOT
IoTDB> CREATE DATABASE test.test
Msg: org.apache.iotdb.jdbc.IoTDBSQLException: 700: Error occurred while parsing SQL to physical plan: line 1:16 mismatched input 'test' expecting ROOT
注意:Database的父子节点都不能再设置 database
IoTDB> CREATE DATABASE root.test.aa
Msg: org.apache.iotdb.jdbc.IoTDBSQLException: 501: root.test has already been created as database
IoTDB> CREATE DATABASE root.test1.aa
Msg: The statement is executed successfully.
2.2 查询数据库

   SHOW DATABASES;
IoTDB> SHOW DATABASES;
+----------------+----+-----------------------+---------------------+---------------------+
|      Database| TTL|SchemaReplicationFactor|DataReplicationFactor|TimePartitionInterval|
+----------------+----+-----------------------+---------------------+---------------------+
|      root.user1|null|                      1|                  1|            604800000|
|   root.test1.aa|null|                      1|                  1|            604800000|
|       root.test|null|                      1|                  1|            604800000|
|root.water_meter|null|                      1|                  1|            604800000|
+----------------+----+-----------------------+---------------------+---------------------+
Total line number = 4
It costs 0.010s
2.3 删除数据库

   DELETE DATABASE root.ln
IoTDB> DELETE DATABASE root.user1
Msg: The statement is executed successfully.
IoTDB> SHOW DATABASES;
+----------------+----+-----------------------+---------------------+---------------------+
|      Database| TTL|SchemaReplicationFactor|DataReplicationFactor|TimePartitionInterval|
+----------------+----+-----------------------+---------------------+---------------------+
|   root.test1.aa|null|                      1|                  1|            604800000|
|       root.test|null|                      1|                  1|            604800000|
|root.water_meter|null|                      1|                  1|            604800000|
+----------------+----+-----------------------+---------------------+---------------------+
Total line number = 3
It costs 0.006s
IoTDB> DELETE DATABASE root.test1.aa
Msg: The statement is executed successfully.
IoTDB> SHOW DATABASES;
+----------------+----+-----------------------+---------------------+---------------------+
|      Database| TTL|SchemaReplicationFactor|DataReplicationFactor|TimePartitionInterval|
+----------------+----+-----------------------+---------------------+---------------------+
|       root.test|null|                      1|                  1|            604800000|
|root.water_meter|null|                      1|                  1|            604800000|
+----------------+----+-----------------------+---------------------+---------------------+
Total line number = 2
It costs 0.005s
三、数据读写

3.1 查询数据

   select status from root.test.test
IoTDB> select status from root.test.test
+-----------------------------+---------------------+
|                         Time|root.test.test.status|
+-----------------------------+---------------------+
|2024-05-03T19:18:07.573+08:00|                  1.0|
|2024-05-03T19:18:19.825+08:00|                  2.0|
|2024-05-03T19:18:21.893+08:00|                  3.0|
+-----------------------------+---------------------+
Total line number = 3
It costs 0.127s
3.2 新增数据



[*]新增单条数据
   INSERT INTO root.test.test(status) values(1)
IoTDB> INSERT INTO root.test.test(status) values(1)Msg: The statement is executed successfully.IoTDB> INSERT INTO root.test.test(status) values(2)Msg: The statement is executed successfully.IoTDB> INSERT INTO root.test.test(status) values(3)Msg: The statement is executed successfully.IoTDB> select status from root.test.test
+-----------------------------+---------------------+
|                         Time|root.test.test.status|
+-----------------------------+---------------------+
|2024-05-03T19:18:07.573+08:00|                  1.0|
|2024-05-03T19:18:19.825+08:00|                  2.0|
|2024-05-03T19:18:21.893+08:00|                  3.0|
+-----------------------------+---------------------+
Total line number = 3
It costs 0.127s


[*]新增多条数据
注意:新增多条数据,需要传入时间戳参数
   INSERT INTO root.test.test(timestamp,status) values(1,4),(2,5),(3,6)
IoTDB> INSERT INTO root.test.test(timestamp,status) values(1,4),(2,5),(3,6)
Msg: The statement is executed successfully.
IoTDB> select status from root.test.test
+-----------------------------+---------------------+
|                         Time|root.test.test.status|
+-----------------------------+---------------------+
|1970-01-01T08:00:00.001+08:00|                  4.0|
|1970-01-01T08:00:00.002+08:00|                  5.0|
|1970-01-01T08:00:00.003+08:00|                  6.0|
|2024-05-03T19:18:07.573+08:00|                  1.0|
|2024-05-03T19:18:19.825+08:00|                  2.0|
|2024-05-03T19:18:21.893+08:00|                  3.0|
+-----------------------------+---------------------+
Total line number = 6
It costs 0.012s
3.3 修改数据

传入同样的时间戳,即可覆盖该时间戳的上一条数据
IoTDB> INSERT INTO root.test.test(timestamp,status) values(1,444)
Msg: The statement is executed successfully.
IoTDB> SELECT status FROM root.test.test
+-----------------------------+---------------------+
|                         Time|root.test.test.status|
+-----------------------------+---------------------+
|1970-01-01T08:00:00.001+08:00|                444.0|
|1970-01-01T08:00:00.002+08:00|                  5.0|
|1970-01-01T08:00:00.003+08:00|                  6.0|
|2024-05-03T19:18:07.573+08:00|                  1.0|
|2024-05-03T19:18:19.825+08:00|                  2.0|
|2024-05-03T19:18:21.893+08:00|                  3.0|
+-----------------------------+---------------------+
Total line number = 6
It costs 0.010s
3.4 删除数据

   DELETE FROM root.test.test.status where time < 4
IoTDB> DELETE FROM root.test.test.status where time < 4
Msg: The statement is executed successfully.
IoTDB> SELECT status FROM root.test.test
+-----------------------------+---------------------+
|                         Time|root.test.test.status|
+-----------------------------+---------------------+
|2024-05-03T19:18:07.573+08:00|                  1.0|
|2024-05-03T19:18:19.825+08:00|                  2.0|
|2024-05-03T19:18:21.893+08:00|                  3.0|
+-----------------------------+---------------------+
Total line number = 3
It costs 0.014s

四、参考

SQL手册 | IoTDB Website
数据增删 | IoTDB Website
数据查询 | IoTDB Website
以为好,就一键三连呗(点赞+收藏+关注)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: IoTDB 入门教程 基础篇⑥——数据库SQL操作 | 数据库管理和数据读写