文章目录
本篇文章介绍SpringBoot项目集成TDengine后,如何通过MyBatis的mapper操作数据的增删改查,以及数据库,表的创建。
本文章演示中TDengine的版本:2.4.0.0
创建数据库SQL语句
那么在SpringBoot中调用TDengine,其实和数据库为MySQL时的调用是差不多的,不过是jdbc驱动变了而已。
下面是创建数据库的语句
create database if not exists demo;
通过该SQL语句,可以创建数据库名为demo的数据库(只有demo数据库不存在的时候才会进行创建)。
查看数据库
show databases;
通过该命令可以看到我们刚创建的数据库demo。
删除数据库SQL语句
drop database if exists demo;
该SQL语句的含义是:如果存在demo数据库,则进行删除
创建demo数据库下的表
创建表时有几个需要特别注意的点:
-
任何一张表或超级表是属于一个库的,在创建表之前,必须先创建库。
-
处于两个不同库的表是不能进行 JOIN 操作的。
-
创建并插入记录、查询历史记录的时候,均需要指定时间戳。
create table if not exists demo.weather(ts timestamp, temperature float, humidity float);
该SQL语句是在demo数据库下创建了名为weather的表,其中列有ts、temperature、humidity,类型分表为:timestamp、float、float;
TDengine还可以创建超级表STable。
show tables;
注意,在执行这句之前,要先进入到数据库。例如: use demo
超级表(也称为:STable)
超级表STable是什么
STable是同一类型数据采集点的抽象,是同类型采集实例的集合,包含多张数据结构一样的子表。每个STable为其子表定义了表结构和一组标签:表结构即表中记录的数据列及其数据类型;标签名和数据类型由STable定义,标签值记录着每个子表的静态信息,用以对子表进行分组过滤。子表本质上就是普通的表,由一个时间戳主键和若干个数据列组成,每行记录着具体的数据,数据查询操作与普通表完全相同;但子表与普通表的区别在于每个子表从属于一张超级表,并带有一组由STable定义的标签值。每种类型的采集设备可以定义一个STable。数据模型定义表的每列数据的类型,如温度、压力、电压、电流、GPS实时位置等,而标签信息属于Meta Data,如采集设备的序列号、型号、位置等,是静态的,是表的元数据。用户在创建表(数据采集点)时指定STable(采集类型)外,还可以指定标签的值,也可事后增加或修改。