influxdb3 create table
The influxdb3 create table command creates a new table in a specified database. Tables must include at least one tag column and can optionally include field columns with defined data types.
InfluxDB automatically creates tables when you write line protocol data. Use this command only if you need to define a custom schema or apply a custom partition template before writing data.
Usage
# Syntax
influxdb3 create table [OPTIONS] \
--tags [<TAGS>...] \
--database <DATABASE_NAME> \
--token <AUTH_TOKEN> \
<TABLE_NAME>Arguments
- TABLE_NAME: The name of the table to create.
Options
| Option | Description | |
|---|---|---|
-H | --host | Host URL of the running InfluxDB 3 Core server (default is http://127.0.0.1:8181) |
-d | --database | (Required) Name of the database to operate on |
--token | (Required) Authentication token | |
--tags | (Required) Comma-separated list of tag columns to include in the table | |
--fields | Comma-separated list of field columns and their types to include in the table | |
--tls-ca | Path to a custom TLS certificate authority (for self-signed or internal certificates) | |
--tls-no-verify | Disable TLS certificate verification (Not recommended in production, useful for self-signed certificates) | |
-h | --help | Print help information |
--help-all | Print detailed help information |
Tag and field naming requirements
Tag and field keys are alphanumeric and must start with a letter or number.
They can contain dashes (-) and underscores (_).
Field data types
Use the following data types when defining field columns with --fields:
| Type | Description |
|---|---|
int64 | 64-bit signed integer |
uint64 | 64-bit unsigned integer |
float64 | 64-bit floating point number |
utf8 | UTF-8 string |
bool | Boolean (true or false) |
Provide each field as NAME:TYPE–for example, temp:float64.
Separate multiple fields with commas: --fields temp:float64,hum:float64,co:int64.
Option environment variables
You can use the following environment variables to set options instead of passing them via CLI flags:
| Environment Variable | Option |
|---|---|
INFLUXDB3_HOST_URL | --host |
INFLUXDB3_DATABASE_NAME | --database |
INFLUXDB3_AUTH_TOKEN | --token |
INFLUXDB3_TLS_NO_VERIFY | --tls-no-verify |
Examples
In the examples below, replace the following:
DATABASE_NAME: The database nameAUTH_TOKEN: The authentication tokenTABLE_NAME: A name for the new table
Create an empty table
influxdb3 create table \
--tags tag1,tag2,tag3 \
--database DATABASE_NAME \
--token AUTH_TOKEN \
TABLE_NAMECreate 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_NAMEVerification
Use the SHOW TABLES query to verify that the table was created successfully:
influxdb3 query \
--database my_test_db \
--token AUTH_TOKEN \
"SHOW TABLES"
Example output:
+---------------+--------------------+----------------------------+------------+
| table_catalog | table_schema | table_name | table_type |
+---------------+--------------------+----------------------------+------------+
| public | iox | my_sensor_table | BASE TABLE |
| public | system | distinct_caches | BASE TABLE |
| public | system | last_caches | BASE TABLE |
| public | system | parquet_files | BASE TABLE |
+---------------+--------------------+----------------------------+------------+SHOW TABLES is an SQL query. It isn’t supported in InfluxQL.
Relation to schema mode
InfluxDB 3 Core databases use one of two schema modes, set when you create the database:
implicit(default):influxdb3 create tableis optional. InfluxDB 3 Core creates tables and columns automatically from the line protocol you write.explicit(InfluxDB 3 Enterprise only) :influxdb3 create tableis how you declare a table’s tag and field columns before writing to it. A write that names a table or column you haven’t declared is rejected. Add columns to a declared table later with theinfluxdb3 update tablecommand.
In both modes, influxdb3 create table accepts the same options and defines
the table the same way.
The schema mode only changes what happens when a write references a table
or column that create table hasn’t defined.
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB 3 Core and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.