6.0 KiB
title | description | weight | influxdb/v2/tags | menu | related | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Query data with InfluxQL | Use the [InfluxDB 1.x `/query` compatibility endpoint](/influxdb/v2/reference/api/influxdb-1x/query) to query data in InfluxDB Cloud and InfluxDB OSS 2.4 with **InfluxQL**. | 102 |
|
|
|
Use InfluxQL (an SQL-like query language) to interact with InfluxDB, and query and analyze your times series data.
In InfluxDB 1.x, data is stored in databases and retention policies. In InfluxDB OSS {{< current-version >}}, data is stored in buckets. Because InfluxQL uses the 1.x data model, a bucket must be mapped to a database and retention policy (DBRP) before it can be queried using InfluxQL.
To query data with InfluxQL, complete the following steps:
- Verify buckets have a mapping.
- Create DBRP mappings for unmapped buckets.
- Query a mapped bucket with InfluxQL.
{{% note %}}
InfluxQL reference documentation
For complete InfluxQL reference documentation, see the InfluxQL specification for InfluxDB 2.x. {{% /note %}}
Verify buckets have a mapping
-
To verify the buckets you want to query are mapped to a database and retention policy, use the
influx
CLI or the InfluxDB API. For examples, see List DBRP mappings. -
If you do not find a DBRP mapping for a bucket, create a new DBRP mapping to map the unmapped bucket.
Create DBRP mappings for unmapped buckets
- Use the
influx
CLI or the InfluxDB API to manually create DBRP mappings for unmapped buckets. For examples, see Create DBRP mappings.
Query a mapped bucket with InfluxQL
{{< tabs-wrapper >}} {{% tabs %}} InfluxQL shell InfluxDB API {{% /tabs %}} {{% tab-content %}}
The influx
CLI provides an InfluxQL shell where you can execute InfluxQL queries in an interactive Read-Eval-Print-Loop (REPL).
-
If you haven't already, do the following:
-
Use the following command to start an InfluxQL shell:
influx v1 shell
-
Execute an InfluxQL query inside the InfluxQL shell.
SELECT used_percent FROM "example-db"."example-rp"."example-measurement" WHERE host=host1
For more information, see how to use the InfluxQL shell. For more information about DBRP mappings, see Manage DBRP mappings.
{{% /tab-content %}} {{% tab-content %}}
The InfluxDB 1.x compatibility API supports all InfluxDB 1.x client libraries and integrations in InfluxDB {{< current-version >}}.
-
To query a mapped bucket with InfluxQL, use the
/query
1.x compatibility endpoint, and include the following in your request:- Request method:
GET
- Headers:
- Authorization: See compatibility API authentication
- Query parameters:
-
db: 1.x database to query
-
rp: 1.x retention policy to query (if no retention policy is specified, InfluxDB uses the default retention policy for the specified database)
-
q: URL-encoded InfluxQL query
{{% api/url-encode-note %}}
-
curl --get http://localhost:8086/query?db=example-db \ --header "Authorization: Token YourAuthToken" \ --data-urlencode "q=SELECT used_percent FROM \"example-db\".\"example-rp\".\"example-measurement\" WHERE host=host1"
By default, the
/query
compatibility endpoint returns results in JSON. - Request method:
-
(Optional) To return results as CSV, include the
Accept: application/csv
header.
For more information about DBRP mappings, see Manage DBRP mappings.
{{% /tab-content %}} {{< /tabs-wrapper >}}
InfluxQL support
InfluxDB OSS 2.x supports the following InfluxQL statements and clauses. See supported and unsupported queries below.
{{< flex >}} {{< flex-content >}} {{% note %}}
Supported InfluxQL queries
DELETE
*DROP MEASUREMENT
*EXPLAIN ANALYZE
SELECT
(read-only)SHOW DATABASES
SHOW SERIES
SHOW MEASUREMENTS
SHOW TAG KEYS
SHOW FIELD KEYS
SHOW SERIES EXACT CARDINALITY
SHOW TAG KEY CARDINALITY
SHOW FIELD KEY CARDINALITY
* These commands delete data. {{% /note %}} {{< /flex-content >}} {{< flex-content >}} {{% warn %}}
Unsupported InfluxQL queries
SELECT INTO
ALTER
CREATE
DROP
(limited support)GRANT
KILL
REVOKE
SHOW SERIES CARDINALITY
{{% /warn %}} {{< /flex-content >}} {{< /flex >}}