最近公司正在启用TDengine作为物联网实时数据的存储数据库,但作为国产开源软件的发光体,目前这个数据库的使用方式,特此记录和总结一些使用技巧。
1.修改用户密码
taos数据库 `root`用户的默认密码为: taosdata,安装好taos数据库后,可以通过:alteruserrootpass`yourpassword`进行修改
2.登录数据库
taos -uroot -p123456 ;
//备注:我root账户的密码是123456,当我使用:taos-uroot-p123456;进行登录会报错。参数连在一起:taos-uroot-p123456就可以执行,不知道为什么。
3.数据库操作
#创建库(如果不存在)keep字段是指文件在表存储的时间,默认是天:
create databaseif not existsmydbkeep365 days 10 blocks 4;
#使用库:
usemydb;
#删除库:
drop databasemydb;
#删除库(如果存在):
drop databaseif existsmydb;
#显示所有数据库:
show databases;
#修改数据库文件压缩标志位:
alter databasemydbcomp 2;
#修改数据库副本数:
alter databasemydbreplica 2;
#修改数据文件保存的天数:
alter databasemydbkeep 365;
#修改数据写入成功所需要的确认数:
alter databasemydbquorum 2;
#修改每个VNODE (TSDB) 中有多少cache大小的内存块:
alter databasemydbblocks 100;
4.表操作
#创建表,创建表时timestamp字段必须为第一个字段类型,为主键:
create tableif not existsmytable(column_nametimestamp,column_nameint,……);
#根据超级表创建子表,这样建表之后,子表会复制除去超级表里面的tags字段外的所有字段;
createtabletable_nameusingsuper_tabletags(column_value,column_value……);
#删除数据表
drop tableif existsmytable;
#显示当前数据库下的所有数据表信息
show tables;
#显示当前数据库下的所有数据表信息
show tableslike"%table_name%";
#获取表的结构信息
describemytable;
#表增加列
alter tablemytableadd columnaddfield int;
#表删除列
alter tablemytabledrop columnaddfield;
5.超级表操作
#创建超级表
#创建STable, 与创建表的SQL语法相似,但需指定TAGS字段的名称和类型。说明:
#1) TAGS 列的数据类型不能是timestamp类型;
#2) TAGS 列名不能与其他列名相同;
#3) TAGS 列名不能为预留关键字;
#4) TAGS 最多允许128个,可以0个,总长度不超过16k个字符
create tableif not existsmysupertable (time timestamp,column_nameint,……)tags(column_namenchar(50),column_namenchar(100),……);
#删除超级表
drop tableif existssuper_table;
#显示当前数据库下的所有超级表信息
show stableslike "%super%";
#获取超级表的结构信息
describesuper_table;
#超级表增加列
alter tablesuper_tableadd columncolumn_nameint;
#超级表删除列
alter tablesuper_tabledrop columncolumn_name;
#添加标签
alter tablesuper_tableadd tagcolumnnchar(60);
#删除标签
alter tablesuper_tabledrop tagtag_name;
#修改标签名
alter tablesuper_tablechange tagold_tag_namenew_tag_name;
#修改子表标签值(TAG)
alter tableitem_table_nameset tagcolumn_key= "value";
6. #解释一下(超级表)super_table,(子表)sub_table,(标签)Tag之间的关系
在物联网中,假设我们现在有一个小区的电表设备需要联网。那么电表就会存在张三家的电表,李四家的电表,张三家电表的电流和电压,李四家的电流和电压,以及王五等等家的设备信息。
那么,作为电表这个物联设备,就可以设计成超级表super_table,这样电表就有了张三的电表sub_table1,李四家的电表sub_table2,等等,电流和电压就是超级表中定义表字段属性,而电表所属的业主名称,小区地址可以存放在TAG。
这个场景中,我们就可以下如下创建语句
首先:创建电表超级表:super_table
create database mydb; use mydb; create table super_dianbiao(ts timestamp,dianya float,dianliu float) tags (yezhu_name nchar(15),xiaoqu_location nchar(50),menpai_num nchar(10));
其次:创建子表dianbiao……
create table dianbiao1001 using super_dianbiao tags('张三','东城小区','1-1101'); create table dianbiao1002 using super_dianbiao tags('李四','东城小区','1-1102');
最后:往子表中插入数据
insert into dianbiao1001 values(now,1.7,3.2);
编辑:黄飞
-
物联网
+关注
关注
2913文章
44915浏览量
376369 -
数据库
+关注
关注
7文章
3845浏览量
64626 -
实时数据
+关注
关注
0文章
18浏览量
7651
原文标题:TDengine 常用指令汇总
文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论