InfluxDB Docs

sql.to() function

The sql.to() function writes data to a SQL database.

Function type: Output

import "sql"

sql.to(
  driverName: "mysql",
  dataSourceName: "username:password@tcp(localhost:3306)/dbname?param=value",
  table: "ExampleTable",
  batchSize: 10000
)

Parameters

driverName

The driver used to connect to the SQL database.

Data type: String

The following drivers are available:

  • mysql
  • postgres
  • sqlite3

dataSourceName

The data source name (DSN) or connection string used to connect to the SQL database. The string’s form and structure depend on the driver used.

Data type: String

Driver dataSourceName examples
# Postgres Driver DSN
postgres://pqgotest:password@localhost/pqgotest?sslmode=verify-full

# MySQL Driver DSN
username:password@tcp(localhost:3306)/dbname?param=value

# SQLite Driver DSN
file:test.db?cache=shared&mode=memory

table

The destination table.

Data type: String

batchSize

The number of parameters or columns that can be queued within each call to Exec. Defaults to 10000.

Data type: Integer

If writing to a SQLite database, set batchSize to 999 or less.

Examples

Write data to a MySQL database

import "sql"

sql.to(
  driverName: "mysql",
  dataSourceName: "user:password@tcp(localhost:3306)/db",
  table: "ExampleTable"
)

Write data to a Postgres database

import "sql"

sql.to(
  driverName: "postgres",
  dataSourceName: "postgresql://user:password@localhost",
  table: "ExampleTable"
)

Write data to an SQLite database

import "sql"

sql.to(
  driverName: "sqlite3",
  dataSourceName: "file:test.db?cache=shared&mode=memory",
  table: "ExampleTable"
)