当前位置: 首页 > news >正文

教育类的网站案例成品型网站建设

教育类的网站案例,成品型网站建设,商务网站策划书,网站开发的目的本章以智能电表的数据模型为例介绍如何在 TDengine 中使用 SQL 来写入、更新、删除时序数据。 写入 在 TDengine 中,用户可以使用 SQL 的 insert 语句写入时序数据。 一次写入一条 假设设备 ID 为 d1001 的智能电表在 2018 年 10 月 3 日 14:38:05 采集到数据&a…

在这里插入图片描述

本章以智能电表的数据模型为例介绍如何在 TDengine 中使用 SQL 来写入、更新、删除时序数据。

写入

在 TDengine 中,用户可以使用 SQL 的 insert 语句写入时序数据。

一次写入一条

假设设备 ID 为 d1001 的智能电表在 2018 年 10 月 3 日 14:38:05 采集到数据:电流 10.3A,电压 219V,相位 0.31。在 power 数据库中创建了属于超级表 meters 的子表 d1001 后,可以通过下面的 insert 语句在子表 d1001 中写入时序数据。

  1. 可以通过下面的 INSERT 语句向子表 d1001 中写入时序数据。
insert into d1001 (ts, current, voltage, phase) values ( "2018-10-03 14:38:05", 10.3, 219, 0.31)

上面的 SQL 向子表 d1001ts, current, voltage, phase 这 4 列分别写入 2018-10-03 14:38:05, 10.3, 219, 0.31

  1. INSERT 语句中的 VALUES 部分包含了表的所有列时,可以省略 VALUES 前的字段列表,如下面的 SQL 语句所示,其与前面指定列的 INSERT 语句,效果完全一样。
insert into d1001 values("2018-10-03 14:38:05", 10.3, 219, 0.31)
  1. 对于表的时间戳列(第一列),也可以直接使用数据库精度的时间戳。
INSERT INTO d1001 VALUES (1538548685000, 10.3, 219, 0.31);

以上三种 SQL 的效果完全相同。

一次写入多条

假设设备 ID 为 d1001 的智能电表每 10s 采集一次数据,每 30s 上报一次数据,即每 30s 需要写入 3 条数据。用户可以在一条 insert 语句中写入多条记录。如下 SQL 一共写入了 3 条数据。

insert into d1001 values( "2018-10-03 14:38:05", 10.2, 220, 0.23),( "2018-10-03 14:38:15", 12.6, 218, 0.33),( "2018-10-03 14:38:25", 12.3, 221, 0.31)

上面的 SQL 一共写入了三条数据。

一次写入多表

假设设备 ID 为 d1001、d1002、d1003 的 3 台智能电表,都是每 30 秒需要写入 3 条数据。对于这种情况,TDengine 支持一次向多个表写入多条数据。

INSERT INTO d1001 VALUES ("2018-10-03 14:38:05", 10.2, 220, 0.23),("2018-10-03 14:38:15", 12.6, 218, 0.33),("2018-10-03 14:38:25", 12.3, 221, 0.31) 
d1002 VALUES ("2018-10-03 14:38:04", 10.2, 220, 0.23),("2018-10-03 14:38:14", 10.3, 218, 0.25),("2018-10-03 14:38:24", 10.1, 220, 0.22)
d1003 VALUES("2018-10-03 14:38:06", 11.5, 221, 0.35),("2018-10-03 14:38:16", 10.4, 220, 0.36),("2018-10-03 14:38:26", 10.3, 220, 0.33)
;

上面的 SQL 一共写入了九条数据。

指定列写入

可以通过指定列向表的部分列写入数据。SQL 中没有出现的列,数据库将自动填充为空值(NULL)。注意,时间戳列必须存在,且值不能为空。如下 SQL 向子表 d1004 写入了一条数据。这条数据只包含电压和相位,电流值为 NULL。

insert into d1004 (ts, voltage, phase) values("2018-10-04 14:38:06", 223, 0.29)

写入时自动建表

用户可以使用带有 using 关键字的自动建表语句进行写入。当子表不存在时,先触发自动建表,再写入数据;当子表已经存在时,则直接写入。使用自动建表的 insert 语句,也可以通过指定部分标签列进行写入,未被指定的标签列的值为空值(NULL)。如下 SQL 写入一条数据。当子表 d1005 不存在时,先自动建表,标签 group_id 的值为 NULL,再写入数据

insert into d1005
using meters (location)
tags ( "beijing.chaoyang")
values ( "2018-10-04 14:38:07", 10.15, 217, 0.33)

自动建表的 insert 语句也支持在一条语句中向多张表写入数据。如下 SQL 使用自动建表的 insert 语句共写入 9 条数据。

INSERT INTO d1001 USING meters TAGS ("California.SanFrancisco", 2) VALUES ("2018-10-03 14:38:05", 10.2, 220, 0.23),("2018-10-03 14:38:15", 12.6, 218, 0.33),("2018-10-03 14:38:25", 12.3, 221, 0.31) 
d1002 USING meters TAGS ("California.SanFrancisco", 3) VALUES ("2018-10-03 14:38:04", 10.2, 220, 0.23),("2018-10-03 14:38:14", 10.3, 218, 0.25),("2018-10-03 14:38:24", 10.1, 220, 0.22)
d1003 USING meters TAGS ("California.LosAngeles", 2) VALUES("2018-10-03 14:38:06", 11.5, 221, 0.35),("2018-10-03 14:38:16", 10.4, 220, 0.36),("2018-10-03 14:38:26", 10.3, 220, 0.33)
;

通过超级表写入

TDengine 还支持直接向超级表写入数据。需要注意的是,超级表是一个模板,本身不存储数据,写入的数据是存储在对应的子表中。如下 SQL 通过指定 tbname 列向子表 d1001 写入一条数据。

insert into meters (tbname, ts, current, voltage, phase, location, group_id)
values("d1001", "2018-10-03 14:38:05", 10.2, 220, 0.23, "California.SanFrancisco", 2)

通过虚拟表写入

TDengine 不支持向虚拟表或虚拟超级表写入,因为虚拟表或虚拟超级表是动态生成的,本身不存储数据。

零代码写入

为了方便用户轻松写入数据,TDengine 已与众多知名第三方工具实现无缝集成,包括 Telegraf、Prometheus、EMQX、StatsD、collectd 和 HiveMQ 等。用户只须对这些工具进行简单的配置,便可轻松将数据导入 TDengine。此外,TDengine Enterprise 还提供了丰富的连接器,如 MQTT、OPC、AVEVA PI System、Wonderware、Kafka、MySQL、Oracle 等。通过在 TDengine 端配置相应的连接信息,用户无须编写任何代码,即可高效地将来自不同数据源的数据写入 TDengine。

更新

可以通过写入重复时间戳的一条数据来更新时序数据,新写入的数据会替换旧值。下面的 SQL,通过指定列的方式,向子表 d1001 中写入 1 行数据;当子表 d1001 中已经存在日期时间为 2018-10-03 14:38:05 的数据时,current(电流)的新值 22,会替换旧值。

INSERT INTO d1001 (ts, current) VALUES ("2018-10-03 14:38:05", 22);

删除

为方便用户清理由于设备故障等原因产生的异常数据,TDengine 支持根据时间戳删除时序数据。下面的 SQL,将超级表 meters 中所有时间戳早于 2021-10-01 10:40:00.100 的数据删除。数据删除后不可恢复,请慎重使用。为了确保删除的数据确实是自己要删除的,建议可以先使用 select 语句加 where 后的删除条件查看要删除的数据内容,确认无误后再执行 delete。

delete from meters where ts < '2021-10-01 10:40:00.100' ;

访问官网

更多内容欢迎访问 TDengine 官网

http://www.yayakq.cn/news/519376/

相关文章:

  • wanwang永康网站建设优化建站
  • 大气红色礼品公司网站源码安徽省住房和城乡建设厅官方网站
  • 网站建设文献免费asp网站空间
  • 泉州市住房和乡村建设网站北京 网站制作
  • 银川网站设计公司注册一个网页多少钱
  • 域名解析站长工具wordpress 数据库说明
  • 自己做的网站项目面试合肥科技职业学院网站建设与管理
  • 免费做外贸的网站平台域名查找
  • 自己做的网站项目面试企业网站建设三网合一
  • 深圳高端网站定制公司派多格宠物网站建设
  • 潍坊市建设银行坊子支行网站2003总是说网站建设中
  • 家具网站开发项目计划书网站开发需解决什么问题
  • 绍兴网站建设设计萍乡土建设计网站
  • 网站上传后 后台进不去南阳定制网站制作价格低
  • 直播视频网站开发潮州网站开发
  • seo综合查询站长工具关键词西安抖音seo推广
  • 好的网站设计培训机构广州网站制作开发公司
  • 用我在线网站建设商城网站建设课设
  • 电器网站建设规划书网站网页建设
  • 免费做链接的网站吗百度竞价排名模式
  • 网站实施要求山东郓城住房和城乡建设厅网站
  • 新津县网站建设免费的海报设计网站
  • 深圳网站建设ln12345义乌企业网站搭建首选
  • 博客网站开发视频手机终端网站
  • 怎么给网站加图标百度收录网站左侧图片
  • 企业网站系统排名昆明铁路局建设工程网站
  • 门户网站策划方案趣味阁小程序入口
  • 如何制作营销网站模板下载徐州网站的优化
  • 网站类型怎么分关于配色的网站
  • 山西做网站的企业做网站的公司哪里好