---
title: influxdb3 create table
description: The influxdb3 create table command creates a table in a database.
url: https://docs.influxdata.com/influxdb3/enterprise/reference/cli/influxdb3/create/table/
estimated_tokens: 1808
product: InfluxDB 3 Enterprise
version: enterprise
publisher: InfluxData
canonical: https://docs.influxdata.com/influxdb3/enterprise/reference/cli/influxdb3/create/table/
date: '2026-04-20T11:26:19-05:00'
lastmod: '2026-04-20T11:26:19-05:00'
---

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.

> [!Note]
> 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

```bash
# 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 Enterprise server (default is `http://127.0.0.1:8181`)                                                          |
| `-d` |    `--database`    |                                                                              *(Required)* Name of the database to operate on                                                                               |
|      |`--retention-period`|[Retention period](/influxdb3/enterprise/reference/glossary/#retention-period) ([duration](/influxdb3/enterprise/reference/glossary/#duration) value, for example: `30d`, `24h`, `1h`) for data in the table|
|      |     `--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 (`_`).

### 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 name
* `AUTH_TOKEN`:
  The authentication token
* `TABLE_NAME`:
  A name for the new table

### Create an empty table

```bash
influxdb3 create table \
  --tags tag1,tag2,tag3 \
  --database DATABASE_NAME \
  --token AUTH_TOKEN \
  TABLE_NAME
```

### Create a table with tag and field columns

```bash
influxdb3 create table \
  --tags room,sensor_id \
  --fields temp:float64,hum:float64,co:int64 \
  --database DATABASE_NAME \
  --token AUTH_TOKEN \
  TABLE_NAME
```

### Create a table with a retention period

```bash
influxdb3 create table \
  --tags room,sensor_id \
  --fields temp:float64,hum:float64 \
  --retention-period 7d \
  --database DATABASE_NAME \
  --token AUTH_TOKEN \
  TABLE_NAME
```

### Verification

Use the `SHOW TABLES` query to verify that the table was created successfully:

```bash
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 |
+---------------+--------------------+----------------------------+------------+
```

> [!Note]
> `SHOW TABLES` is an SQL query. It isn’t supported in InfluxQL.

#### Related

* [Create a table](/influxdb3/enterprise/admin/tables/create/)
* [Create table API](/influxdb3/enterprise/api/table/#operation/PostConfigureTable)
* [Data retention in InfluxDB 3 Enterprise](/influxdb3/enterprise/reference/internals/data-retention/)
| Option |  | Description |
| --- | --- | --- |
| Option |  | Description |
| -H | --host | Host URL of the running InfluxDB 3 Enterprise server (default is  http://127.0.0.1:8181 ) |
| -d | --database | ( Required )  Name of the database to operate on |
|  | --retention-period | Retention period  ( duration  value, for example:  30d ,  24h ,  1h ) for data in the table |
|  | --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 |

| Environment Variable | Option |
| --- | --- |
| Environment Variable | Option |
| INFLUXDB3_HOST_URL | --host |
| INFLUXDB3_DATABASE_NAME | --database |
| INFLUXDB3_AUTH_TOKEN | --token |
| INFLUXDB3_TLS_NO_VERIFY | --tls-no-verify |
