schema查询语法 · InfluxDB中文文档

您所在的位置:网站首页 influxdb语法 schema查询语法 · InfluxDB中文文档

schema查询语法 · InfluxDB中文文档

2023-11-21 14:29| 来源: 网络整理| 查看: 265

schema查询语法

InfluxQL是一种类似SQL的查询语言,用于与InfluxDB中的数据进行交互。下面我们要介绍一些有用的查询schema的语法:

SHOW DATABASES SHOW RETENTION POLICIES SHOW SERIES SHOW MEASUREMENTS SHOW TAG KEYS SHOW TAG VALUES SHOW FIELD KEYS

在开始之前,默认已经登入了CLI:

$ influx -precision rfc3339 Connected to http://localhost:8086 version 1.3.x InfluxDB shell 1.3.x > SHOW DATABASES

返回当前实例上的所有的数据库。

语法 SHOW DATABASES 例子 例一:运行SHOW DATABASES查询 > SHOW DATABASES name: databases name ---- NOAA_water_database _internal SHOW RETENTION POLICIES

返回指定数据库的保留策略的列表。

语法 SHOW RETENTION POLICIES [ON ] 语法描述

ON 是可选的。如果查询不包括ON ,则必须在CLI中使用USE 指定数据库,或者在HTTP API请求中指定db查询字符串参数。

例子 例一:运行带有ON子句的SHOW RETENTION POLICIES > SHOW RETENTION POLICIES ON NOAA_water_database name duration shardGroupDuration replicaN default ---- -------- ------------------ -------- ------- autogen 0s 168h0m0s 1 true

该查询以表格格式返回数据库NOAA_water_database中的保留策略列表。 该数据库有一个名为autogen的保留策略。该保留策略具有无限持续时间,持续时间七天的shard group,副本数为1,并且是数据库的DEFAULT保留策略。

例二:运行不带ON子句的SHOW RETENTION POLICIES CLI

使用USE 指定数据库:

> USE NOAA_water_database Using database NOAA_water_database > SHOW RETENTION POLICIES name duration shardGroupDuration replicaN default ---- -------- ------------------ -------- ------- autogen 0s 168h0m0s 1 true HTTP API

用db参数指定数据库:

~# curl -G "http://localhost:8086/query?db=NOAA_water_database&pretty=true" --data-urlencode "q=SHOW RETENTION POLICIES" { "results": [ { "statement_id": 0, "series": [ { "columns": [ "name", "duration", "shardGroupDuration", "replicaN", "default" ], "values": [ [ "autogen", "0s", "168h0m0s", 1, true ] ] } ] } ] } SHOW SERIES

返回指定数据库的series列表。

语法 SHOW SERIES [ON ] [FROM_clause] [WHERE [ '' | ]] [LIMIT_clause] [OFFSET_clause] 语法描述

ON 是可选的。如果查询不包括ON ,则必须在CLI中使用USE 指定数据库,或者在HTTP API请求中指定db查询字符串参数。

FROM,WHERE,LIMIT和OFFSET子句是可选的。 WHERE子句支持tag比较; field比较对SHOW SERIES查询无效。

WHERE子句中支持的运算符:

= 等于 不等于!= 不等于=~ 匹配!~ 不匹配

例子 例一:运行带ON子句的SHOW SERIES > SHOW SERIES ON NOAA_water_database key --- average_temperature,location=coyote_creek average_temperature,location=santa_monica h2o_feet,location=coyote_creek h2o_feet,location=santa_monica h2o_pH,location=coyote_creek h2o_pH,location=santa_monica h2o_quality,location=coyote_creek,randtag=1 h2o_quality,location=coyote_creek,randtag=2 h2o_quality,location=coyote_creek,randtag=3 h2o_quality,location=santa_monica,randtag=1 h2o_quality,location=santa_monica,randtag=2 h2o_quality,location=santa_monica,randtag=3 h2o_temperature,location=coyote_creek h2o_temperature,location=santa_monica

查询的输出类似于行协议格式。第一个逗号之前的所有内容都是measurement名称。第一个逗号后的所有内容都是tag key或tag value。 NOAA_water_database有五个不同的measurement和14个不同的series。

例二:运行不带ON子句的SHOW SERIES CLI

用USE 指定数据库:

> USE NOAA_water_database Using database NOAA_water_database > SHOW SERIES key --- average_temperature,location=coyote_creek average_temperature,location=santa_monica h2o_feet,location=coyote_creek h2o_feet,location=santa_monica h2o_pH,location=coyote_creek h2o_pH,location=santa_monica h2o_quality,location=coyote_creek,randtag=1 h2o_quality,location=coyote_creek,randtag=2 h2o_quality,location=coyote_creek,randtag=3 h2o_quality,location=santa_monica,randtag=1 h2o_quality,location=santa_monica,randtag=2 h2o_quality,location=santa_monica,randtag=3 h2o_temperature,location=coyote_creek h2o_temperature,location=santa_monica HTTP API

用db参数指定数据库:

~# curl -G "http://localhost:8086/query?db=NOAA_water_database&pretty=true" --data-urlencode "q=SHOW SERIES" { "results": [ { "statement_id": 0, "series": [ { "columns": [ "key" ], "values": [ [ "average_temperature,location=coyote_creek" ], [ "average_temperature,location=santa_monica" ], [ "h2o_feet,location=coyote_creek" ], [ "h2o_feet,location=santa_monica" ], [ "h2o_pH,location=coyote_creek" ], [ "h2o_pH,location=santa_monica" ], [ "h2o_quality,location=coyote_creek,randtag=1" ], [ "h2o_quality,location=coyote_creek,randtag=2" ], [ "h2o_quality,location=coyote_creek,randtag=3" ], [ "h2o_quality,location=santa_monica,randtag=1" ], [ "h2o_quality,location=santa_monica,randtag=2" ], [ "h2o_quality,location=santa_monica,randtag=3" ], [ "h2o_temperature,location=coyote_creek" ], [ "h2o_temperature,location=santa_monica" ] ] } ] } ] } 例三:运行带有多个子句的SHOW SERIES > SHOW SERIES ON NOAA_water_database FROM "h2o_quality" WHERE "location" = 'coyote_creek' LIMIT 2 key --- h2o_quality,location=coyote_creek,randtag=1 h2o_quality,location=coyote_creek,randtag=2

查询返回数据库NOAA_water_database中与measurement h2o_quality相关联的并且tag为location = coyote_creek的两个series。

SHOW MEASUREMENTS

返回指定数据库的measurement列表。

语法 SHOW MEASUREMENTS [ON ] [WITH MEASUREMENT ] [WHERE ['' | ]] [LIMIT_clause] [OFFSET_clause] 语法描述

ON 是可选的。如果查询不包括ON ,则必须在CLI中使用USE 指定数据库,或者在HTTP API请求中指定db查询字符串参数。

WITH,WHERE,LIMIT和OFFSET子句是可选的。 WHERE子句支持tag比较; field比较对SHOW MEASUREMENTS查询无效。

WHERE子句中支持的运算符:

= 等于 不等于!= 不等于=~ 匹配!~ 不匹配

例子 例一:运行带ON子句的SHOW MEASUREMENTS > SHOW MEASUREMENTS ON NOAA_water_database name: measurements name ---- average_temperature h2o_feet h2o_pH h2o_quality h2o_temperature

查询返回数据库NOAA_water_database中的measurement列表。数据库有五个measurement:average_temperature,h2o_feet,h2o_pH,h2o_quality和h2o_temperature。

例二:运行不带ON子句的SHOW MEASUREMENTS CLI

用USE 指定数据库。

> USE NOAA_water_database Using database NOAA_water_database > SHOW MEASUREMENTS name: measurements name ---- average_temperature h2o_feet h2o_pH h2o_quality h2o_temperature HTTP API

使用参数db指定数据库:

~# curl -G "http://localhost:8086/query?db=NOAA_water_database&pretty=true" --data-urlencode "q=SHOW MEASUREMENTS" { { "results": [ { "statement_id": 0, "series": [ { "name": "measurements", "columns": [ "name" ], "values": [ [ "average_temperature" ], [ "h2o_feet" ], [ "h2o_pH" ], [ "h2o_quality" ], [ "h2o_temperature" ] ] } ] } ] } 例三:运行有多个子句的SHOW MEASUREMENTS(1) > SHOW MEASUREMENTS ON NOAA_water_database WITH MEASUREMENT =~ /h2o.*/ LIMIT 2 OFFSET 1 name: measurements name ---- h2o_pH h2o_quality

该查询返回以以h2o开头的NOAA_water_database数据库中的measurement。 LIMIT和OFFSET子句将返回的measurement名称,并且数量限制为两个,再将结果偏移一个,所以跳过了measurementh2o_feet。

例四:运行有多个子句的SHOW MEASUREMENTS(2) > SHOW MEASUREMENTS ON NOAA_water_database WITH MEASUREMENT =~ /h2o.*/ WHERE "randtag" =~ /\d/ name: measurements name ---- h2o_quality

该查询返回NOAA_water_database中以h2o开头,并且tagrandtag包含一个整数的所有measurement。

SHOW TAG KEYS

返回指定数据库的tag key列表。

语法 SHOW TAG KEYS [ON ] [FROM_clause] [WHERE ['' | ]] [LIMIT_clause] [OFFSET_clause] 语法描述

ON 是可选的。如果查询不包括ON ,则必须在CLI中使用USE 指定数据库,或者在HTTP API请求中指定db查询字符串参数。

FROM和WHERE子句是可选的。 WHERE子句支持tag比较; field比较对SHOW TAG KEYS查询无效。

WHERE子句中支持的运算符:

= 等于 不等于!= 不等于=~ 匹配!~ 不匹配

例子 例一:运行带有ON子句的SHOW TAG KEYS > SHOW TAG KEYS ON "NOAA_water_database" name: average_temperature tagKey ------ location name: h2o_feet tagKey ------ location name: h2o_pH tagKey ------ location name: h2o_quality tagKey ------ location randtag name: h2o_temperature tagKey ------ location

查询返回数据库NOAA_water_database中的tag key列表。输出按measurement名称给tag key分组; 它显示每个measurement都具有tag keylocation,并且measurementh2o_quality具有额外的tag key randtag。

例二:运行不带ON子句的SHOW TAG KEYS CLI

用USE 指定数据库:

> USE NOAA_water_database Using database NOAA_water_database > SHOW TAG KEYS name: average_temperature tagKey ------ location name: h2o_feet tagKey ------ location name: h2o_pH tagKey ------ location name: h2o_quality tagKey ------ location randtag name: h2o_temperature tagKey ------ location HTTP API

用参数db指定数据库:

~# curl -G "http://localhost:8086/query?db=NOAA_water_database&pretty=true" --data-urlencode "q=SHOW TAG KEYS" { "results": [ { "statement_id": 0, "series": [ { "name": "average_temperature", "columns": [ "tagKey" ], "values": [ [ "location" ] ] }, { "name": "h2o_feet", "columns": [ "tagKey" ], "values": [ [ "location" ] ] }, { "name": "h2o_pH", "columns": [ "tagKey" ], "values": [ [ "location" ] ] }, { "name": "h2o_quality", "columns": [ "tagKey" ], "values": [ [ "location" ], [ "randtag" ] ] }, { "name": "h2o_temperature", "columns": [ "tagKey" ], "values": [ [ "location" ] ] } ] } ] } 例三:运行带有多个子句的SHOW TAG KEYS > SHOW TAG KEYS ON "NOAA_water_database" FROM "h2o_quality" LIMIT 1 OFFSET 1 name: h2o_quality tagKey ------ randtag

该查询从数据库NOAA_water_database的measurementh2o_quality中返回tag key。 LIMIT和OFFSET子句限制返回到一个tag key,再将结果偏移一个。

SHOW TAG VALUES

返回数据库中指定tag key的tag value列表。

语法 SHOW TAG VALUES [ON ][FROM_clause] WITH KEY [ [ "" | ] | [IN ("","


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3