最近公司正在啟用TDengine作為物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)的存儲(chǔ)數(shù)據(jù)庫,但作為國(guó)產(chǎn)開源軟件的發(fā)光體,目前這個(gè)數(shù)據(jù)庫的使用方式,特此記錄和總結(jié)一些使用技巧。
1.修改用戶密碼
taos數(shù)據(jù)庫 `root`用戶的默認(rèn)密碼為: taosdata,安裝好taos數(shù)據(jù)庫后,可以通過:alteruserrootpass`yourpassword`進(jìn)行修改
2.登錄數(shù)據(jù)庫
taos -uroot -p123456 ;
//備注:我root賬戶的密碼是123456,當(dāng)我使用:taos-uroot-p123456;進(jìn)行登錄會(huì)報(bào)錯(cuò)。參數(shù)連在一起:taos-uroot-p123456就可以執(zhí)行,不知道為什么。
3.數(shù)據(jù)庫操作
#創(chuàng)建庫(如果不存在)keep字段是指文件在表存儲(chǔ)的時(shí)間,默認(rèn)是天:
create databaseif not existsmydbkeep365 days 10 blocks 4;
#使用庫:
usemydb;
#刪除庫:
drop databasemydb;
#刪除庫(如果存在):
drop databaseif existsmydb;
#顯示所有數(shù)據(jù)庫:
show databases;
#修改數(shù)據(jù)庫文件壓縮標(biāo)志位:
alter databasemydbcomp 2;
#修改數(shù)據(jù)庫副本數(shù):
alter databasemydbreplica 2;
#修改數(shù)據(jù)文件保存的天數(shù):
alter databasemydbkeep 365;
#修改數(shù)據(jù)寫入成功所需要的確認(rèn)數(shù):
alter databasemydbquorum 2;
#修改每個(gè)VNODE (TSDB) 中有多少cache大小的內(nèi)存塊:
alter databasemydbblocks 100;
4.表操作
#創(chuàng)建表,創(chuàng)建表時(shí)timestamp字段必須為第一個(gè)字段類型,為主鍵:
create tableif not existsmytable(column_nametimestamp,column_nameint,……);
#根據(jù)超級(jí)表創(chuàng)建子表,這樣建表之后,子表會(huì)復(fù)制除去超級(jí)表里面的tags字段外的所有字段;
createtabletable_nameusingsuper_tabletags(column_value,column_value……);
#刪除數(shù)據(jù)表
drop tableif existsmytable;
#顯示當(dāng)前數(shù)據(jù)庫下的所有數(shù)據(jù)表信息
show tables;
#顯示當(dāng)前數(shù)據(jù)庫下的所有數(shù)據(jù)表信息
show tableslike"%table_name%";
#獲取表的結(jié)構(gòu)信息
describemytable;
#表增加列
alter tablemytableadd columnaddfield int;
#表刪除列
alter tablemytabledrop columnaddfield;
5.超級(jí)表操作
#創(chuàng)建超級(jí)表
#創(chuàng)建STable, 與創(chuàng)建表的SQL語法相似,但需指定TAGS字段的名稱和類型。說明:
#1) TAGS 列的數(shù)據(jù)類型不能是timestamp類型;
#2) TAGS 列名不能與其他列名相同;
#3) TAGS 列名不能為預(yù)留關(guān)鍵字;
#4) TAGS 最多允許128個(gè),可以0個(gè),總長(zhǎng)度不超過16k個(gè)字符
create tableif not existsmysupertable (time timestamp,column_nameint,……)tags(column_namenchar(50),column_namenchar(100),……);
#刪除超級(jí)表
drop tableif existssuper_table;
#顯示當(dāng)前數(shù)據(jù)庫下的所有超級(jí)表信息
show stableslike "%super%";
#獲取超級(jí)表的結(jié)構(gòu)信息
describesuper_table;
#超級(jí)表增加列
alter tablesuper_tableadd columncolumn_nameint;
#超級(jí)表刪除列
alter tablesuper_tabledrop columncolumn_name;
#添加標(biāo)簽
alter tablesuper_tableadd tagcolumnnchar(60);
#刪除標(biāo)簽
alter tablesuper_tabledrop tagtag_name;
#修改標(biāo)簽名
alter tablesuper_tablechange tagold_tag_namenew_tag_name;
#修改子表標(biāo)簽值(TAG)
alter tableitem_table_nameset tagcolumn_key= "value";
6. #解釋一下(超級(jí)表)super_table,(子表)sub_table,(標(biāo)簽)Tag之間的關(guān)系
在物聯(lián)網(wǎng)中,假設(shè)我們現(xiàn)在有一個(gè)小區(qū)的電表設(shè)備需要聯(lián)網(wǎng)。那么電表就會(huì)存在張三家的電表,李四家的電表,張三家電表的電流和電壓,李四家的電流和電壓,以及王五等等家的設(shè)備信息。
那么,作為電表這個(gè)物聯(lián)設(shè)備,就可以設(shè)計(jì)成超級(jí)表super_table,這樣電表就有了張三的電表sub_table1,李四家的電表sub_table2,等等,電流和電壓就是超級(jí)表中定義表字段屬性,而電表所屬的業(yè)主名稱,小區(qū)地址可以存放在TAG。
這個(gè)場(chǎng)景中,我們就可以下如下創(chuàng)建語句
首先:創(chuàng)建電表超級(jí)表: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));
其次:創(chuàng)建子表dianbiao……
create table dianbiao1001 using super_dianbiao tags('張三','東城小區(qū)','1-1101'); create table dianbiao1002 using super_dianbiao tags('李四','東城小區(qū)','1-1102');
最后:往子表中插入數(shù)據(jù)
insert into dianbiao1001 values(now,1.7,3.2);
編輯:黃飛
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44736瀏覽量
374463 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3822瀏覽量
64506 -
實(shí)時(shí)數(shù)據(jù)
+關(guān)注
關(guān)注
0文章
17瀏覽量
7645
原文標(biāo)題:TDengine 常用指令匯總
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論