influxctl query
influxctl query
命令使用 SQL 或 InfluxQL 从 InfluxDB Clustered 查询数据,并将结果打印为表格或 JSON。
以下列方式之一提供查询
- 命令行上的字符串
- 包含查询的文件路径
- 作为单个短划线 (
-
) 从 stdin 读取查询
重要提示
- 此命令每次执行仅支持一个查询。
- 此命令并非旨在成为功能齐全的查询工具。 它旨在用于调试、分类和基本数据探索。
InfluxDB 连接配置
您的 InfluxDB 集群主机和端口在 influxctl
连接配置文件中配置。 默认使用 TLS 和端口 443。 您可以在连接配置文件中设置用于 query
和 write
命令的默认数据库和令牌,或者使用 --database
和 --token
标志通过命令传递它们。 命令行标志会覆盖连接配置文件中的设置。
输出格式
--format
标志允许您以其他格式打印输出。 json
格式可用于供其他工具进行程序化解析。 默认值:table
。
当使用 table
格式时,默认情况下,时间戳格式为 RFC3339 时间戳。 使用 --time-format
标志指定可用的时间格式之一
rfc3339nano
: (默认) RFC3339Nano 格式的时间戳 – 例如:2024-01-01T00:00:00.000000000Z
unixnano
: Unix 纳秒时间戳
用法
influxctl query [flags] <QUERY>
参数
参数 | 描述 |
---|---|
QUERY | 要执行的查询(命令行字符串、文件路径或 - 从 stdin 读取) |
标志
标志 | 描述 | |
---|---|---|
--database | 要查询的数据库 | |
--enable-system-tables | 启用查询系统表的功能 | |
--format | 输出格式 (table (默认) 或 json ) | |
--language | 查询语言 (sql (默认) 或 influxql ) | |
--time-format | 表格输出的时间格式 (rfc3339nano (默认) 或 unixnano ) | |
--token | 对查询的数据库具有读取权限的数据库令牌 | |
-h | --help | 输出命令帮助 |
另请参阅 influxctl
全局标志。
示例
- 使用 SQL 查询 InfluxDB 3
- 使用 InfluxQL 查询 InfluxDB 3
- 查询 InfluxDB 3 并以表格格式返回结果
- 查询 InfluxDB 3 并以 JSON 格式返回结果
- 查询 InfluxDB 3 并以 Unix 纳秒时间戳返回结果
- 使用连接配置文件中的凭据查询 InfluxDB 3
- 从 InfluxDB 3 系统表查询数据
在以下示例中,替换以下内容
DATABASE_TOKEN
: 具有对查询数据库的读取访问权限的数据库令牌DATABASE_NAME
: 要查询的数据库名称
使用 SQL 查询 InfluxDB 3
influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
/path/to/query.sql
cat ./query.sql | influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
-
使用 InfluxQL 查询 InfluxDB 3
influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
--language influxql \
/path/to/query.influxql
cat ./query.influxql | influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
--language influxql \
-
查询 InfluxDB 3 并以表格格式返回结果
influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
/path/to/query.sql
cat ./query.sql | influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
-
查询 InfluxDB 3 并以 JSON 格式返回结果
influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
--format json \
/path/to/query.sql
cat ./query.sql | influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
--format json \
-
查询 InfluxDB 3 并以 Unix 纳秒时间戳返回结果
influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
--time-format unixnano \
/path/to/query.sql
cat ./query.sql | influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
--time-format unixnano \
-
使用连接配置文件中的凭据查询 InfluxDB 3
以下示例使用 default
连接配置文件中定义的 database
和 token
。
从 InfluxDB 3 系统表查询数据
您必须使用 SQL 查询 InfluxDB 3 系统表。
查询系统表可能会影响 InfluxDB 集群的整体性能。 系统表不是 InfluxDB 稳定 API 的一部分,并且可能会发生更改。
influxctl query \
--enable-system-tables \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
/path/to/query.sql
cat ./query.sql | influxctl query \
--enable-system-tables \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
-
此页内容是否对您有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子! 我们欢迎并鼓励您提供关于 InfluxDB Clustered 和本文档的反馈和错误报告。 要获得支持,请使用以下资源
拥有年度合同或支持合同的客户可以联系 InfluxData 支持。