超级表 STable 管理
备注
在 2.0.15.0 及以后的版本中开始支持 STABLE 保留字。也即,在本节后文的指令说明中,CREATE、DROP、ALTER 三个指令在 2.0.15.0 之前的版本中 STABLE 保留字需写作 TABLE。
创建超级表
CREATE STABLE [IF NOT EXISTS] stb_name (timestamp_field_name TIMESTAMP, field1_name data_type1 [, field2_name data_type2 ...]) TAGS (tag1_name tag_type1, tag2_name tag_type2 [, tag3_name tag_type3]);
创建 STable,与创建表的 SQL 语法相似,但需要指定 TAGS 字段的名称和类型。
信息
- TAGS 列的数据类型不能是 timestamp 类型;(从 2.1.3.0 版本开始,TAGS 列中支持使用 timestamp 类型,但需注意在 TAGS 中的 timestamp 列写入数据时需要提供给定值,而暂不支持四则运算,例如
NOW + 10s
这类表达式) - TAGS 列名不能与其他列名相同;
- TAGS 列名不能为预留关键字(参见:参数限制与保留关键字 章节);
- TAGS 最多允许 128 个,至少 1 个,总长度不超过 16 KB。
删除超级表
DROP STABLE [IF EXISTS] stb_name;
删除 STable 会自动删除通过 STable 创建的子表。
显示当前数据库下的所有超级表信息
SHOW STABLES [LIKE tb_name_wildcard];
查看数据库内全部 STable,及其相关信息,包括 STable 的名称、创建时间、列数量、标签(TAG)数量、通过该 STable 建表的数量。
显示一个超级表的创建语句
SHOW CREATE STABLE stb_name;
常用于数据库迁移。对一个已经存在的超级表,返回其创建语句;在另一个集群中执行该语句,就能得到一个结构完全相同的超级表。
获取超级表的结构信息
DESCRIBE stb_name;
修改超级表普通列
超级表增加列
ALTER STABLE stb_name ADD COLUMN field_name data_type;