---
title: Write data to InfluxDB
description: Use Chronograf to write data to InfluxDB. Upload line protocol into the UI, use the InfluxQL INTO clause, or use the Flux to() function to write data back to InfluxDB.
url: https://docs.influxdata.com/chronograf/v1/guides/write-to-influxdb/
estimated_tokens: 1687
product: Chronograf
version: v1
---

# Write data to InfluxDB

Use Chronograf to write data to InfluxDB. Choose from the following methods:

-   [Upload line protocol through the Chronograf UI](#upload-line-protocol-through-the-chronograf-ui)
-   [Use the InfluxQL `INTO` clause in a query](#use-the-influxql-into-clause-in-a-query)
-   [Use the Flux `to()` function in a query](#use-the-flux-to-function-in-a-query)

## Upload line protocol through the Chronograf UI

1. Select **Explore** in the left navigation bar.
    
2. Click **Write Data** in the top right corner of the Data Explorer.
    
    ![Write data to InfluxDB with Chronograf](/img/chronograf/1-9-write-data.png)
3. Select the **database** *(if an InfluxQL data source is selected)* or **database and retention policy** *(if a Flux data source is selected)* to write to.
    
    ![Select database and retention policy to write to](/img/chronograf/1-9-write-db-rp.png)
4. Select one of the following methods for uploading [line protocol](/influxdb/v1/write_protocols/line_protocol_tutorial/):
    
    -   **Upload File**: Upload a file containing line protocol to write to InfluxDB. Either drag and drop a file into the file uploader or click to use your operating systems file selector and choose a file to upload.
    -   **Manual Entry**: Manually enter line protocol to write to InfluxDB.
5. Select the timestamp precision of your line protocol. Chronograf supports the following units:
    
    -   `s` (seconds)
    -   `ms` (milliseconds)
    -   `u` (microseconds)
    -   `ns` (nanoseconds)
    
    ![Select write precision in Chronograf](/img/chronograf/1-9-write-precision.png)
6. Click **Write**.
    

## Use the InfluxQL `INTO` clause in a query

To write data back to InfluxDB with an InfluxQL query, include the [`INTO` clause](/influxdb/v1/query_language/explore-data/#the-into-clause) in your query:

1. Select **Explore** in the left navigation bar.
    
2. Select **InfluxQL** as your data source type.
    
3. Write an InfluxQL query that includes the `INTO` clause. Specify the database, retention policy, and measurement to write to. For example:
    
    ```sql
    SELECT *
    INTO "mydb"."autogen"."example-measurement"
    FROM "example-db"."example-rp"."example-measurement"
    GROUP BY *
    ```
    
4. Click **Submit Query**.
    

#### Use InfluxQL to write to InfluxDB 2.x or InfluxDB Cloud

To use InfluxQL to write to an **InfluxDB 2.x** or **InfluxDB Cloud** instance, [configure database and retention policy mappings](/influxdb/v2/upgrade/v1-to-v2/manual-upgrade/#create-dbrp-mappings) and ensure the current [InfluxDB connection](/chronograf/v1/administration/creating-connections/#manage-influxdb-connections-using-the-chronograf-ui) includes the appropriate connection credentials.

## Use the Flux `to()` function in a query

To write data back to InfluxDB with an InfluxQL query, include the [`INTO` clause](/influxdb/v1/query_language/explore-data/#the-into-clause) in your query:

1. Select **Explore** in the left navigation bar.
    
2. Select **Flux** as your data source type.
    
    To query InfluxDB with Flux, [enable Flux](/influxdb/v1/flux/installation/) in your InfluxDB configuration.
    
3. Write an Flux query that includes the `to()` function. Provide the database and retention policy to write to. Use the `db-name/rp-name` syntax:
    
    ```js
    from(bucket: "example-db/example-rp")
      |> range(start: -30d)
      |> filter(fn: (r) => r._measurement == "example-measurement")
      |> to(bucket: "mydb/autogen")
    ```
    
4. Click **Run Script**.
