文档下载建议反馈入口

  • 添加标签
  • 查看标签
  • 查看标签值
  • 修改标签
  • 重命名标签
  • 删除标签

标签

数据库标签(TAG)描述数据对象特征和行为,例如数据类型、长度、默认值等。标签定义了数据对象的结构和规则,确保数据的完整性和有效性。

KaiwuDB 支持使用 ATTRIBUTE 和 ATTRIBUTES 作为 TAG 和 TAGS 的别名。

添加标签

用户可以在创建表的时候直接创建表的标签,也可以使用 ALTER TABLE 语句向表中添加标签。

说明

  • 添加标签时需要应用停机,待修改的表不在修改过程中,以确保结构变更的原子性、一致性,避免潜在的一致性问题。
  • 目前,KaiwuDB 不支持一次添加多个标签或者为已有时序表添加主标签和非空标签。

所需权限

用户拥有目标表的 CREATE 权限。

语法格式

参数说明

参数说明
table_name表名,支持通过 <database_name>.<table_name> 指定其他数据库中的表。
tag_name标签名,不支持数据库级别的自定义标签。标签名的最大长度为 128 字节。
tag_type标签类型,不支持 TIMESTAMP、TIMESTAMPTZ、NVARCHAR、GEOMETRY 数据类型。

语法示例

以下示例为 ts_table 表添加名为 color 的标签。

ALTER TABLE ts_table ADD TAG color VARCHAR(30);

查看标签

SHOW TAGS 语句用于查看目标表的全部标签信息。

所需权限

用户拥有目标表的任何权限。

语法格式

参数说明

参数说明
db_name待查看表所在的数据库的名称。如未指定,则默认使用当前数据库。
table_name待查看表的名称,支持通过 <database_name>.<table_name> 指定其他数据库中的表。

语法示例

以下示例查看当前数据库中 sensor_data 表的标签。

SHOW TAGS FROM sensor_data;

执行成功后,控制台输出以下信息:

      tag     |    type     | is_primary | nullable
--------------+-------------+------------+-----------
  sensor_id   | INT4        |    true    |  false
  sensor_type | VARCHAR(30) |   false    |  false
(2 rows)

查看标签值

SHOW TAG VALUES 语句用于查看目标表的全部标签值信息。

所需权限

用户拥有目标表的 SELECT 权限。

语法格式

参数说明

参数说明
db_name待查看表所在的数据库的名称。如未指定,则默认使用当前数据库。
table_name待查看表的名称,支持通过 <database_name>.<table_name> 指定其他数据库中的表。

语法示例

以下示例查看当前数据库中 sensor_data 表的标签值。

SHOW TAG VALUES FROM sensor_data;

执行成功后,控制台输出以下信息:

  sensor_id 
------------
          1
(1 row)

修改标签

KaiwuDB 支持通过 ALTER TABLE 语句修改标签的数据类型和宽度。

所需权限

用户拥有目标表的 CREATE 权限。

语法格式

参数说明

参数说明
table_name表名,支持通过 <database_name>.<table_name> 指定其他数据库中的表。如未指定,则默认使用当前数据库。
tag_name待修改标签的名称。
new_type拟修改的数据类型和宽度。
说明
- 转换后的数据类型宽度必须大于原数据类型的宽度。例如,INT4 可以转成 INT8,但不能转成 INT2,CHAR(200) 可以转为 VARCHAR (254), 但不能转为 VARCHAR (100)。
- CHAR、VARCHAR、NCHAR、NVARCHAR 字符类型支持同数据类型的宽度转换,但只能增加宽度不能降低宽度。例如,CHAR(100) 可以转转为 CHAR(200),不能转为 CHAR(50)。有关 KaiwuDB 支持修改的数据类型、默认宽度、最大宽度、可转换的数据类型等详细信息,参见时序数据类型

语法示例

以下示例将 ts_table 表的 color 标签的数据类型和宽度修改为 VARCHAR(50)

ALTER TABLE ts_table ALTER color TYPE VARCHAR(50);

重命名标签

KaiwuDB 支持通过 ALTER TABLE 语句修改标签名称。

所需权限

用户拥有目标表的 CREATE 权限。

语法格式

参数说明

参数说明
table_name表名,支持通过 <database_name>.<table_name> 指定其他数据库中的表。如未指定,则默认使用当前数据库。
old_name当前标签名,不支持修改主标签名称。
new_name拟修改的标签名。标签名的最大长度为 128 字节。

语法示例

以下示例将 ts_table 表的 site 标签重命名为 location

ALTER TABLE ts_table RENAME TAG site TO location;

删除标签

KaiwuDB 支持通过 ALTER TABLE 语句删除标签。

说明

  • 删除标签时需要应用停机,待修改的表不在修改过程中,以确保结构变更的原子性、一致性,避免潜在的一致性问题。
  • KaiwuDB 不支持删除主标签。
  • 目前,KaiwuDB 不支持一次删除多个标签。

所需权限

用户拥有目标表的 CREATE 权限。

语法格式

参数说明

参数说明
table_name表名,支持通过 <database_name>.<table_name> 指定其他数据库中的表。如未指定,则默认使用当前数据库。
tag_name待删除标签的名称,不支持删除主标签。

语法示例

以下示例删除 ts_table 表的 color 标签。

ALTER TABLE ts_table DROP TAG color;