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

文章目录

  • 一、前文
  • 二、数据库管理
    • [2.1 创建数据库](#2.1 创建数据库)
    • [2.2 查询数据库](#2.2 查询数据库)
    • [2.3 删除数据库](#2.3 删除数据库)
  • 三、数据读写
    • [3.1 查询数据](#3.1 查询数据)
    • [3.2 新增数据](#3.2 新增数据)
    • [3.3 修改数据](#3.3 修改数据)
    • [3.4 删除数据](#3.4 删除数据)
  • 四、参考

一、前文

IoTDB入门教程------导读
本博文主要讲述数据库管理和数据读写

二、数据库管理

2.1 创建数据库

CREATE DATABASE root.ln

sql 复制代码
IoTDB> CREATE DATABASE root.test
Msg: The statement is executed successfully.

注意:必须是root.开头

这一点也是我一直吐槽的地方,为啥要限制必须root.开头呢?

全部都是root.开头不就等于全部都没有root.开头。意义何在呢。

sql 复制代码
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

sql 复制代码
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;

sql 复制代码
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

sql 复制代码
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
sql 复制代码
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

sql 复制代码
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)

sql 复制代码
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)

sql 复制代码
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 修改数据

传入同样的时间戳,即可覆盖该时间戳的上一条数据

sql 复制代码
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

sql 复制代码
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

觉得好,就一键三连呗(点赞+收藏+关注)

相关推荐
要开心吖ZSH4 小时前
一文搞懂:JDK 21 虚拟线程 vs N种异步方案,到底该怎么选?
java·数据库·jdk·虚拟线程
guodingdingh9 小时前
软件开发工作问题总结0718
java·开发语言·数据库
GuWenyue10 小时前
Cursor黑盒拆解!1套LangChain.js手写Mini编程Agent,自动生成React项目,效率提升60%
前端·数据库·人工智能
Csvn11 小时前
📊 SQL 入门 Day 8:集合操作 — 用 SQL 做数学里的"并交差"
后端·sql
Miao1213112 小时前
某海外住宿平台如何在大规模场景下实现指标一致性:Minerva 指标平台实践
大数据·数据库·人工智能
CodexDave12 小时前
MySQL事务隔离级别与MVCC机制解析
前端·数据库·mysql·nginx·性能优化·负载均衡
碎光拾影13 小时前
ARM交叉工具链各工具作用及IMX6ULL平台LED+蜂鸣器裸机程序实现
java·开发语言·数据库
曾阿伦13 小时前
MongoDB 查询语句备忘手册
数据库·mongodb
一叶龙洲13 小时前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
CCPC不拿奖不改名13 小时前
大模型推理架构与开源生态知识整理
数据库·windows·python·架构·langchain·开源·github