第三章:TDengine 常用操作和高级功能

TDengine 常用操作和高级功能

目标

  • 掌握TDengine 常用操作和高级功能

步骤

TDengine 是一个专门为物联网(IoT)和大数据场景设计的高性能时序数据库。除了基本的创建数据库、表、插入和查询数据之外,TDengine 还提供了许多其他常用操作和高级功能。

1. 创建超级表(Super Table)

超级表是一种特殊的表,它可以定义一组子表(子表继承超级表的结构),并且可以为每个子表添加标签(tag)。标签用于区分不同的子表。

sql 复制代码
CREATE TABLE meters (
    ts TIMESTAMP,
    current FLOAT,
    voltage INT,
    phase FLOAT
) TAGS (location BINARY(20), groupId INT);

CREATE TABLE d1001 USING meters TAGS ('California.SanFrancisco', 2);
CREATE TABLE d1002 USING meters TAGS ('California.LosAngeles', 2);

2. 插入数据到超级表的子表

sql 复制代码
INSERT INTO d1001 VALUES ('2023-10-01 00:00:00', 12.3, 220, 0.2);
INSERT INTO d1002 VALUES ('2023-10-01 00:00:00', 11.8, 220, 0.1);

3. 查询超级表及其子表

sql 复制代码
-- 查询所有子表的数据
SELECT * FROM meters;

-- 查询特定子表的数据
SELECT * FROM d1001;

-- 查询特定标签的数据
SELECT * FROM meters WHERE location = 'California.SanFrancisco';

4. 聚合查询

TDengine 支持各种聚合函数,如 SUM, AVG, MAX, MIN 等。

sql 复制代码
-- 计算每个子表的平均电流
SELECT AVG(current) FROM meters GROUP BY tbname;

-- 计算每个地点的最大电压
SELECT MAX(voltage) FROM meters GROUP BY location;

5. 时间窗口查询

TDengine 提供了强大的时间窗口查询功能,可以按时间段进行聚合。

sql 复制代码
-- 按小时计算每个子表的平均电流
SELECT tbname, TIME_WINDOW(ts, 1h) AS time_window, AVG(current) 
FROM meters 
GROUP BY tbname, time_window;

6. 实时订阅(Subscribe)

TDengine 支持实时订阅功能,可以实时获取数据变化。

sql 复制代码
-- 创建订阅
CREATE SUBSCRIBE sub1 FROM meters WHERE location = 'California.SanFrancisco';

-- 查看订阅状态
SHOW SUBSCRIBE;

-- 取消订阅
CANCEL SUBSCRIBE sub1;

7. 数据保留策略

TDengine 允许设置数据保留策略,自动删除过期数据。

sql 复制代码
-- 创建数据库时设置数据保留时间为3天
CREATE DATABASE weather KEEP 3;

-- 修改现有数据库的数据保留时间
ALTER DATABASE weather KEEP 7;

8. 数据压缩

TDengine 支持数据压缩,以节省存储空间。

sql 复制代码
-- 创建数据库时启用数据压缩
CREATE DATABASE weather COMPRESSION 1;

-- 修改现有数据库的数据压缩设置
ALTER DATABASE weather COMPRESSION 2;

9. 数据导入导出

TDengine 提供了数据导入和导出的功能。

sql 复制代码
-- 导出数据
EXPORT DATA FROM meters TO '/path/to/export/file.csv';

-- 导入数据
IMPORT DATA FROM '/path/to/import/file.csv';

10. 用户管理

TDengine 支持用户管理和权限控制。

sql 复制代码
-- 创建用户
CREATE USER john PASSWORD 'password123';

-- 授予权限
GRANT ALL ON weather TO john;

-- 删除用户
DROP USER john;

11. 监控和日志

TDengine 提供了监控和日志功能,帮助您管理和调试系统。

sql 复制代码
-- 查看系统状态
SHOW Databases;
SHOW STATUS;

-- 查看日志
SHOW LOGS;

12. 备份和恢复

TDengine 支持数据备份和恢复功能。

sql 复制代码
-- 备份数据库
BACKUP DATABASE weather TO '/path/to/backup';

-- 恢复数据库
RESTORE DATABASE weather FROM '/path/to/backup';
相关推荐
A hao5 小时前
高对比度在XR虚拟背景中的作用
大数据·图像处理·人工智能·xr·广告
Haoxuekeji6 小时前
山东 AI 智能批改校园电子阅卷企业
大数据·人工智能·深度学习·安全·ai
酉鬼女又兒7 小时前
零基础入门 DeepSeek V4 Pro API 开发:从环境搭建、消息格式规范到翻译函数实战、少样本提示、多轮对话聊天机器人与常见报错全流程详解指南
大数据·网络·数据库·人工智能·macos·机器人·github
ddshub_cc8 小时前
理解 Loop Engineering 与 AI 编程成本优化
大数据·人工智能·gpt·prompt·ai编程
喵喵喵~~~~8 小时前
2026 指挥控制台源头工厂深度测评:按行业项目落地能力择优采购指南
大数据·运维·人工智能·智能家居
喵喵喵~~~~8 小时前
2026 调度操作台厂商横向实测:多行业落地案例拆解,指挥中心控制台怎么选
大数据·人工智能
hkNaruto9 小时前
【大数据】Demo 城市供水管网智能监控系统——项目开发实施计划
大数据·人工智能
小顿的企业观察9 小时前
从人形机器人到AI销售智能体,AI正在重塑中企出海的底层逻辑
大数据·运维·人工智能·机器人·产品运营·制造
市象10 小时前
卡萨帝高端二十年,难靠冰洗再独秀
大数据·智能家居
Georgeviewer10 小时前
数字化工程落地复盘:通用SaaS架构的本地化缺陷与自研系统最优解|皖禾数智实战
大数据·人工智能·架构