---
title: Explore your schema with InfluxQL
description: Use InfluxQL SHOW statements to return information about your data schema.
url: https://docs.influxdata.com/influxdb3/enterprise/query-data/influxql/explore-schema/
estimated_tokens: 5079
product: InfluxDB 3 Enterprise
version: enterprise
---

# Explore your schema with InfluxQL

Use InfluxQL `SHOW` statements to return information about your data schema.

#### InfluxDB v1 to InfluxDB 3 data model

InfluxQL was designed around the InfluxDB v1 data model, but can still be used to query data from InfluxDB 3 Enterprise. When using the InfluxDB 3 Enterprise InfluxQL implementation, the data model is different in the following ways:

-   an InfluxDB v1 **database and retention policy** combination is combined into a single InfluxDB 3 **database** entity.
-   an InfluxDB v1 **measurement** is equivalent to an InfluxDB 3 **table**.

-   [List measurements in a database](#list-measurements-in-a-database)
    -   [List measurements that contain specific tag key-value pairs](#list-measurements-that-contain-specific-tag-key-value-pairs)
    -   [List measurements that match a regular expression](#list-measurements-that-match-a-regular-expression)
-   [List field keys in a measurement](#list-field-keys-in-a-measurement)
-   [List tag keys in a measurement](#list-tag-keys-in-a-measurement)
    -   [List tag keys in measurements that contain a specific tag key-value pair](#list-tag-keys-in-measurements-that-contain-a-specific-tag-key-value-pair)
-   [List tag values for a specific tag key](#list-tag-values-for-a-specific-tag-key)
    -   [List tag values for multiple tags](#list-tag-values-for-multiple-tags)
    -   [List tag values for tags that match a regular expression](#list-tag-values-for-tags-that-match-a-regular-expression)
    -   [List tag values associated with a specific tag key-value pair](#list-tag-values-associated-with-a-specific-tag-key-value-pair)

#### Sample data

The following examples use data provided in [sample data sets](/influxdb3/enterprise/reference/sample-data/). To run the example queries and return identical results, follow the instructions provided for each sample data set to write the data to your InfluxDB 3 Enterprise database.

## List measurements in a database

Use [`SHOW MEASUREMENTS`](/influxdb3/enterprise/reference/influxql/show/#show-measurements) to list measurements in your InfluxDB database.

```sql
SHOW MEASUREMENTS
```

[](#view-example-output)

View example output

name: measurements

| name |
| --- |
| bitcoin |
| home |
| home_actions |
| numbers |
| weather |

### List measurements that contain specific tag key-value pairs

To return only measurements with specific tag key-value pairs, include a `WHERE` clause with tag key-value pairs to query for.

```sql
SHOW MEASUREMENTS WHERE room = 'Kitchen'
```

[](#view-example-output-1)

View example output

name: measurements

| name |
| --- |
| home |
| home_actions |

### List measurements that match a regular expression

To return only measurements with names that match a [regular expression](/influxdb3/enterprise/reference/influxql/regular-expressions/), include a `WITH` clause that compares the `MEASUREMENT` to a regular expression.

```sql
SHOW MEASUREMENTS WITH MEASUREMENT =~ /^home/
```

[](#view-example-output-2)

View example output

name: measurements

| name |
| --- |
| home |
| home_actions |

## List field keys in a measurement

Use [`SHOW FIELD KEYS`](/influxdb3/enterprise/reference/influxql/show/#show-field-keys) to return all field keys in a measurement. Include a `FROM` clause to specify the measurement. If no measurement is specified, the query returns all field keys in the database.

```sql
SHOW FIELD KEYS FROM home
```

[](#view-example-output-3)

View example output

name: home

| fieldKey | fieldType |
| --- | --- |
| co | integer |
| hum | float |
| temp | float |

## List tag keys in a measurement

Use [`SHOW TAG KEYS`](/influxdb3/enterprise/reference/influxql/show/#show-field-keys) to return all tag keys in a measurement. Include a `FROM` clause to specify the measurement. If no measurement is specified, the query returns all tag keys in the database.

```sql
SHOW TAG KEYS FROM home_actions
```

[](#view-example-output-4)

View example output

name: home\_actions

| tagKey |
| --- |
| action |
| level |
| room |

### List tag keys in measurements that contain a specific tag key-value pair

To return all tag keys measurements that contain specific tag key-value pairs, include a `WHERE` clause with the tag key-value pairs to query for.

```sql
SHOW TAG KEYS WHERE room = 'Kitchen'
```

[](#view-example-output-5)

View example output

name: home

| tagKey |
| --- |
| room |

name: home\_actions

| tagKey |
| --- |
| action |
| level |
| room |

## List tag values for a specific tag key

Use [`SHOW TAG VALUES`](/influxdb3/enterprise/reference/influxql/show/#show-field-values) to return all values for specific tags in a measurement.

-   Include a `FROM` clause to specify one or more measurements to query.
-   Use the `WITH` clause to compare `KEY` to tag keys to list the values of.
-   Use the `WHERE` clause to restrict the search to a specific time range (default time range is the last day).

```sql
SHOW TAG VALUES FROM weather WITH KEY = location
```

#### Include a FROM clause

We strongly recommend including a `FROM` clause with the `SHOW TAG VALUES` statement that specifies 1-50 tables to query. Without a `FROM` clause, the InfluxDB query engine must read data from all tables and return unique tag values from each.

Depending on the number of tables in your database and the number of unique tag values in each table, excluding a `FROM` clause can result in poor query performance, query timeouts, or unnecessary resource allocation that may affect other queries.

[](#view-example-output-5)

View example output

name: weather

| key | value |
| --- | --- |
| location | Concord |
| location | Hayward |
| location | San Francisco |

### List tag values for multiple tags

To return tag values for multiple specific tag keys, use the `IN` operator in the `WITH` clause to compare `KEY` to a list of tag keys.

```sql
SHOW TAG VALUES FROM home_actions WITH KEY IN ("level", "action")
```

[](#view-example-output-6)

View example output

name: home\_actions

| key | value |
| --- | --- |
| action | alert |
| action | cool |
| level | ok |
| level | warn |

### List tag values for tags that match a regular expression

To return only tag values from tags keys that match a regular expression, use regular expression comparison operators in your `WITH` clause to compare `KEY` to the regular expression.

```sql
SHOW TAG VALUES FROM home, home_actions WITH KEY =~ /oo/
```

[](#view-example-output-7)

View example output

name: home

| key | value |
| --- | --- |
| room | Kitchen |
| room | Living Room |

name: home\_actions

| key | value |
| --- | --- |
| room | Kitchen |
| room | Living Room |

### List tag values associated with a specific tag key-value pair

To list tag values for tags associated with a specific tag key-value pair:

-   Use the `WITH` clause to identify what tag keys to return values for.
-   Include a `WHERE` clause that identifies the tag key-value pair to query for.

The following example returns tag values for the `action` and `level` tags for points where the `room` tag value is `Kitchen`.

```sql
SHOW TAG VALUES FROM home_actions WITH KEY IN ("action", "level") WHERE room = 'Kitchen'
```

[](#view-example-output-8)

View example output

name: home\_actions

| key | value |
| --- | --- |
| action | alert |
| action | cool |
| level | ok |
| level | warn |

#### Related

-   [InfluxQL SHOW statements](/influxdb3/enterprise/reference/influxql/show/)

[query](/influxdb3/enterprise/tags/query/) [influxql](/influxdb3/enterprise/tags/influxql/)
