TDengine基础语法

参考地址:https://docs.taosdata.com/taos-sql/database/

数据库

创建数据库

# database_options
#具体参数请参考官方说明
CREATE DATABASE [IF NOT EXISTS] db_name [database_options]
#示例:
create database if not exists db vgroups 10 buffer 10

使用数据库

USE db_name;

删除数据库

#删除数据库。指定 Database 所包含的全部数据表将被删除,该数据库的所有 vgroups 也会被全部销毁,请谨慎使用!
DROP DATABASE [IF EXISTS] db_name

修改数据库参数

# 具体参考官方文档
ALTER DATABASE db_name [alter_database_options]

查看数据库

SHOW DATABASES;
#查看建表语句
SHOW CREATE DATABASE db_name;

查看数据库参数

SELECT * FROM INFORMATION_SCHEMA.INS_DATABASES WHERE NAME='db_name';

删除过期数据

TRIM DATABASE db_name;

落盘内存数据

#落盘内存中的数据。在关闭节点之前,执行这条命令可以避免重启后的数据回放,加速启动过程。
FLUSH DATABASE db_name;

查看数据库工作状态

# 查询数据库 db_name 的可用状态,返回值 0:不可用 1:完全可用 2:部分可用(即数据库包含的 VNODE 部分节点可用,部分节点不可用)
SHOW db_name.ALIVE;

创建表

CREATE TABLE [IF NOT EXISTS] [db_name.]tb_name (create_definition [, create_definition] ...) [table_options]

CREATE TABLE create_subtable_clause

CREATE TABLE [IF NOT EXISTS] [db_name.]tb_name (create_definition [, create_definition] ...)
    [TAGS (create_definition [, create_definition] ...)]
    [table_options]

create_subtable_clause: {
    create_subtable_clause [create_subtable_clause] ...
  | [IF NOT EXISTS] [db_name.]tb_name USING [db_name.]stb_name [(tag_name [, tag_name] ...)] TAGS (tag_value [, tag_value] ...)
}

create_definition:
    col_name column_definition

column_definition:
    type_name [comment 'string_value'] [PRIMARY KEY] [ENCODE 'encode_type'] [COMPRESS 'compress_type'] [LEVEL 'level_type']

table_options:
    table_option ...

table_option: {
    COMMENT 'string_value'
  | SMA(col_name [, col_name] ...)
  | TTL value
}

创建子表

创建子表

# tb_name:表名 ; stb_name:tags名称
CREATE TABLE [IF NOT EXISTS] tb_name USING stb_name TAGS (tag_value1, ...);

创建子表并指定标签的值

#以指定的超级表为模板,也可以指定一部分 TAGS 列的值来创建数据表(没被指定的 TAGS 列会设为空值)。
CREATE TABLE [IF NOT EXISTS] tb_name USING stb_name (tag_name1, ...) TAGS (tag_value1, ...);

批量创建子表

CREATE TABLE [IF NOT EXISTS] tb_name1 USING stb_name TAGS (tag_value1, ...) [IF NOT EXISTS] tb_name2 USING stb_name TAGS (tag_value2, ...) ...;

修改普通表

ALTER TABLE [db_name.]tb_name alter_table_clause

alter_table_clause: {
    alter_table_options
  | ADD COLUMN col_name column_type
  | DROP COLUMN col_name
  | MODIFY COLUMN col_name column_type
  | RENAME COLUMN old_col_name new_col_name
}

alter_table_options:
    alter_table_option ...

alter_table_option: {
    TTL value
  | COMMENT 'string_value'
}

增加列

ALTER TABLE tb_name ADD COLUMN field_name data_type;

删除列

ALTER TABLE tb_name DROP COLUMN field_name;

修改列宽

ALTER TABLE tb_name MODIFY COLUMN field_name data_type(length);

修改列名

ALTER TABLE tb_name RENAME COLUMN old_col_name new_col_name

修改表生命周期

ALTER TABLE tb_name TTL value

修改表注释

ALTER TABLE tb_name COMMENT 'string_value'

修改子表

ALTER TABLE [db_name.]tb_name alter_table_clause

alter_table_clause: {
    alter_table_options
  | SET TAG tag_name = new_tag_value
}

alter_table_options:
    alter_table_option ...

alter_table_option: {
    TTL value
  | COMMENT 'string_value'
}

修改子表标签值

#对于子表只能改标签
ALTER TABLE tb_name SET TAG tag_name=new_tag_value;

删除表

DROP TABLE [IF EXISTS] [db_name.]tb_name [, [IF EXISTS] [db_name.]tb_name] ...

查看表的信息

SHOW CREATE TABLE tb_name;

获取表结构信息

DESCRIBE [db_name.]tb_name;

超级表

创建超级表

CREATE STABLE [IF NOT EXISTS] stb_name (create_definition [, create_definition] ...) TAGS (create_definition [, create_definition] ...) [table_options]
 
create_definition:
    col_name column_definition
 
column_definition:
    type_name

查看超级表

SHOW STABLES [LIKE tb_name_wildcard];

写入数据

正常表

INSERT INTO machinery USING machinery TAGS (‘14541649930’)(bsm,yjsj,tbsj) VALUES (‘test’,1719991296399,1719991296400);

INSERT INTO
    tb_name
        [USING stb_name [(tag1_name, ...)] TAGS (tag1_value, ...)]
        [(field1_name, ...)]
        VALUES (field1_value, ...) [(field1_value2, ...) ...] | FILE csv_file_path
    [tb2_name
        [USING stb_name [(tag1_name, ...)] TAGS (tag1_value, ...)]
        [(field1_name, ...)]
        VALUES (field1_value, ...) [(field1_value2, ...) ...] | FILE csv_file_path
    ...];

INSERT INTO tb_name [(field1_name, ...)] subquery

超级表语法

INSERT INTO
    stb1_name [(field1_name, ...)]       
        VALUES (field1_value, ...) [(field1_value2, ...) ...] | FILE csv_file_path
    [stb2_name [(field1_name, ...)]  
        VALUES (field1_value, ...) [(field1_value2, ...) ...] | FILE csv_file_path
    ...];

插入记录

#一条记录
INSERT INTO d1001 VALUES (NOW, 10.2, 219, 0.32);
# 多条
INSERT INTO d1001 VALUES ('2021-07-13 14:06:32.272', 10.2, 219, 0.32) (1626164208000, 10.15, 217, 0.33);
#按照列插入
INSERT INTO d1001 (ts, current, phase) VALUES ('2021-07-13 14:06:33.196', 10.27, 0.31);

插入记录时自动建表

INSERT INTO d21001 USING meters TAGS ('California.SanFrancisco', 2) VALUES ('2021-07-13 14:06:32.272', 10.2, 219, 0.32);
# 也可以在自动建表时,只是指定部分 TAGS 列的取值,未被指定的 TAGS 列将置为 NULL。例如
INSERT INTO d21001 USING meters (groupId) TAGS (2) VALUES ('2021-07-13 14:06:33.196', 10.15, 217, 0.33);

删除数据

DELETE FROM [ db_name. ] tb_name [WHERE condition];
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值