---
title: influxdb3 create table
description: The influxdb3 create table command creates a table in a database.
url: https://docs.influxdata.com/influxdb3/core/reference/cli/influxdb3/create/table/
estimated_tokens: 1319
product: InfluxDB 3 Core
version: core
publisher: InfluxData
canonical: https://docs.influxdata.com/influxdb3/core/reference/cli/influxdb3/create/table/
date: '2025-01-13T07:21:11-07:00'
lastmod: '2025-01-13T07:21:11-07: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 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 (`_`).

### 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
```

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

`SHOW TABLES` is an SQL query. It isn’t supported in InfluxQL.
| Option |  | Description |
| --- | --- | --- |
| 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 |

| 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 |
