---
title: Write to MariaDB
description: Use sql.to() with the mysql driver to write data to MariaDB.
url: https://docs.influxdata.com/flux/v0/write-data/sql/mariadb/
estimated_tokens: 940
product: Flux
version: v0
---

# Write to MariaDB

To write data to [MariaDB](https://mariadb.org/) with Flux:

1. Import the [`sql` package](/flux/v0/stdlib/sql/).
    
2. Pipe-forward data into [`sql.to()`](/flux/v0/stdlib/sql/to/) and provide the following parameters:
    
    -   **driverName**: mysql
    -   **dataSourceName**: *See [data source name](#mariadb-data-source-name)*
    -   **table**: Table to write to
    -   **batchSize**: Number of parameters or columns that can be queued within each call to `Exec` (default is `10000`)

```js
import "sql"

data
    |> sql.to(
        driverName: "mysql",
        dataSourceName: "user:password@tcp(localhost:3306)/db",
        query: "SELECT * FROM example_table",
    )
```

## MariaDB data source name

The `mysql` driver uses the following data source name (DSN) syntax (also known as a **connection string**):

```
username:password@tcp(localhost:3306)/dbname?param=value
```

## Flux to MariaDB data type conversion

`sql.to()` converts Flux data types to MariaDB data types.

| Flux data type | MariaDB data type |
| --- | --- |
| float | FLOAT |
| int | BIGINT |
| uint | BIGINT |
| string | TEXT(16383) |
| bool | BOOL (TINYINT) |
| time | DATETIME |

#### MariaDB BOOL types

`BOOL` is a synonym supplied by MariaDB for convenience. MariaDB stores `BOOL` values as `TINYINT` types so looking at the schema shows the column type as `TINYINT`.

#### Related

-   [sql.to() function](/flux/v0/stdlib/sql/to/)
