文档文档

创建表

使用 influxdb3 create table 命令HTTP API 在 InfluxDB 3 Core 中创建指定数据库中的表。

在 InfluxDB 3 Core 中,表和度量(measurement)是同义词。通常,表会在写入时自动创建,使用写入 InfluxDB 的行协议中指定的表名。但是,您也可以手动创建表,以便在写入数据之前定义自定义架构或应用自定义设置。

使用 influxdb3 CLI 创建表

使用 influxdb3 create table 命令并提供以下信息

  • 必需: 要在其下创建表的数据库名称
  • 必需: 要创建的表的名称(请参阅 表命名限制
  • 必需: 要包含在表中的标签列(必须至少有一个标签列)
  • 可选: 要包含在表中的字段列及其数据类型

表必须包含至少一个标签列。字段列是可选的,可以在写入数据时添加。

标签顺序会影响查询性能

在考虑您的架构和创建表时,请按查询优先级对标签进行排序。将最常查询的标签放在前面。在查询执行期间,较早出现的列通常可以更快地进行过滤和访问。

有关更多信息,请参阅 优化写入

# Create a table with tag columns
influxdb3 create table \
  --tags tag1,tag2,tag3 \
  --database 
DATABASE_NAME
\
--token
AUTH_TOKEN
\
TABLE_NAME
# Create a table with tag and field columns influxdb3 create table \ --tags room,sensor_id \ --fields temp:float64,hum:float64,co:int64 \ --database
DATABASE_NAME
\
--token
AUTH_TOKEN
\
TABLE_NAME

替换以下内容:

  • DATABASE_NAME: 要在其下创建表的数据库名称
  • TABLE_NAME: 要创建的表名称
  • AUTH_TOKEN:您的 管理员令牌

使用 HTTP API 创建表

要使用 HTTP API 创建表,请向 /api/v3/configure/table 端点发送 POST 请求

POST localhost:8181/api/v3/configure/table

在您的请求中包含以下内容

  • Headers:
    • Authorization: Bearer 加上您的身份验证令牌
    • Content-Type: application/json
  • 请求正文: 包含表配置的 JSON 对象
    • db (string, required): 数据库名称
    • table (string, required): 表名称
    • tags (array, required): 标签列名称
    • fields (array, optional): 字段定义,包含名称和类型
# Create a table with tag columns
curl -X POST "localhost:8181/api/v3/configure/table" \
  --header "Authorization: Bearer 
AUTH_TOKEN
"
\
--header "Content-Type: application/json" \ --data '{ "db": "
DATABASE_NAME
",
"table": "
TABLE_NAME
",
"tags": ["tag1", "tag2", "tag3"] }' # Create a table with tag and field columns curl -X POST "localhost:8181/api/v3/configure/table" \ --header "Authorization: Bearer
AUTH_TOKEN
"
\
--header "Content-Type: application/json" \ --data '{ "db": "
DATABASE_NAME
",
"table": "
TABLE_NAME
",
"tags": ["room", "sensor_id"], "fields": [ {"name": "temp", "type": "float64"}, {"name": "hum", "type": "float64"}, {"name": "co", "type": "int64"} ] }'

替换以下内容:

  • DATABASE_NAME: 要在其下创建表的数据库名称
  • TABLE_NAME: 要创建的表名称
  • AUTH_TOKEN:您的 管理员令牌

数据保留

在 InfluxDB 3 Core 中,表使用数据库的保留期。

时间戳超出数据库保留期的点将不再可查询,并会被标记为删除。要控制表的到期数据,请在 创建数据库 时设置保留期。

有关更多信息,请参阅 InfluxDB 3 Core 中的数据保留

升级到 Enterprise 以获得表级保留期

使用 InfluxDB 3 Enterprise,您可以设置表级保留期,该保留期将覆盖数据库保留期。这允许您在同一数据库中为不同类型的数据维护不同的保留策略。

有关更多信息,请参阅 InfluxDB 3 Enterprise

表命名限制

InfluxDB 3 Core 中的表名称必须遵守以下命名限制

  • 允许的字符: 字母数字字符(a-z、A-Z、0-9)、下划线(_)、连字符(-
  • 起始字符:应以字母或数字开头,不应以下划线 (_) 开头
  • 区分大小写: 表名称区分大小写
  • 引号: 当名称包含特殊字符或空格时,请使用双引号

以下划线开头的名称保留供系统使用

以“_”(下划线)开头的名称可能保留供 InfluxDB 系统使用。虽然 InfluxDB 3 Core 可能不会明确拒绝这些名称,但使用它们存在与当前或未来系统功能发生冲突的风险,并可能导致意外行为或数据丢失。


此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2