使用 InfluxQL 探索你的模式
使用 InfluxQL SHOW 语句返回有关你的数据模式的信息。
InfluxDB v1 到 InfluxDB 3 数据模型
InfluxQL 是围绕 InfluxDB v1 数据模型设计的,但仍可用于查询 InfluxDB 3 Core 中的数据。在使用 InfluxDB 3 Core InfluxQL 实现时,数据模型在以下方面有所不同:
- InfluxDB v1 的 数据库和保留策略组合被合并为单个 InfluxDB 3 数据库实体。
- InfluxDB v1 的 measurement 等同于 InfluxDB 3 的 table。
示例数据
以下示例使用 示例数据集 中提供的数据。要运行示例查询并获得相同的结果,请按照每个示例数据集提供的说明将数据写入您的 InfluxDB 3 Core 数据库。
列出数据库中的 measurement
使用 SHOW MEASUREMENTS 列出 InfluxDB 数据库中的 measurement。
SHOW MEASUREMENTS列出包含特定标签键值对的 measurement
要仅返回包含特定标签键值对的 measurement,请包含一个 WHERE 子句,其中包含要查询的标签键值对。
SHOW MEASUREMENTS WHERE room = 'Kitchen'列出与正则表达式匹配的 measurement
要仅返回名称与 正则表达式 匹配的 measurement,请包含一个 WITH 子句,将 MEASUREMENT 与正则表达式进行比较。
SHOW MEASUREMENTS WITH MEASUREMENT =~ /^home/列出 measurement 中的字段键
使用 SHOW FIELD KEYS 返回 measurement 中的所有字段键。包含一个 FROM 子句来指定 measurement。如果未指定 measurement,则查询返回数据库中的所有字段键。
SHOW FIELD KEYS FROM home列出 measurement 中的标签键
使用 SHOW TAG KEYS 返回 measurement 中的所有标签键。包含一个 FROM 子句来指定 measurement。如果未指定 measurement,则查询返回数据库中的所有标签键。
SHOW TAG KEYS FROM home_actions列出包含特定标签键值对的 measurement 中的标签键
要返回包含特定标签键值对的所有标签键 measurement,请包含一个 WHERE 子句,其中包含要查询的标签键值对。
SHOW TAG KEYS WHERE room = 'Kitchen'列出特定标签键的标签值
使用 SHOW TAG VALUES 返回 measurement 中特定标签的所有值。
- 包含一个
FROM子句来指定要查询的一个或多个 measurement。 - 使用
WITH子句将KEY与标签键进行比较,以列出要查找其值的内容。 - 使用
WHERE子句将搜索限制在特定时间范围内(默认时间范围是 last day)。
SHOW TAG VALUES FROM weather WITH KEY = location包含 FROM 子句
我们强烈建议在 SHOW TAG VALUES 语句中包含一个 FROM 子句,该子句指定要查询的 1-50 个表。如果没有 FROM 子句,InfluxDB 查询引擎必须读取所有表的数据并从中返回唯一的标签值。
根据数据库中的表数量以及每个表中的唯一标签值数量,排除 FROM 子句可能会导致查询性能不佳、查询超时或不必要的资源分配,从而影响其他查询。
列出多个标签的标签值
要返回多个特定标签键的标签值,请在 WITH 子句中使用 IN 运算符将 KEY 与标签键列表进行比较。
SHOW TAG VALUES FROM home_actions WITH KEY IN ("level", "action")列出与正则表达式匹配的标签的标签值
要仅返回与正则表达式匹配的标签键中的标签值,请在 WITH 子句中使用正则表达式比较运算符将 KEY 与正则表达式进行比较。
SHOW TAG VALUES FROM home, home_actions WITH KEY =~ /oo/列出与特定标签键值对关联的标签值
列出与特定标签键值对关联的标签的标签值
- 使用
WITH子句来确定要返回值的标签键。 - 包含一个
WHERE子句,该子句标识要查询的标签键值对。
以下示例返回 room 标签值为 Kitchen 的点,对于 action 和 level 标签的标签值。
SHOW TAG VALUES FROM home_actions WITH KEY IN ("action", "level") WHERE room = 'Kitchen'此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 InfluxDB 3 Core 和本文档提供反馈和错误报告。要获得支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。