MySQL/MariaDB Driver v0.4.0

Driver Version v0.4.0 Release Date 2026-06-18 Tested With MySQL 9.4 Tested With MariaDB 12.2

This driver provides access to MySQL and MariaDB , free and open-source relational database management systems.

Installation

The MySQL driver can be installed with dbc :

dbc install mysql

Connecting

To connect, edit the uri option below to match your environment and run the following:

from adbc_driver_manager import dbapi

conn = dbapi.connect(
  driver="mysql",
  db_kwargs = {
    "uri": "mysql://root@localhost:3306/demo"
  }
)

Note: The example above is for Python using the adbc-driver-manager package but the process will be similar for other driver managers. See adbc-quickstarts .

Connection String Format

Connection strings are passed with the uri option. The driver supports two formats:

Go MySQL Driver DSN Format (Alternative)

The driver also accepts the Go MySQL Driver DSN format :

[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...&paramN=valueN]

Examples:

  • user:pass@tcp(localhost:3306)/mydb

  • user@tcp(127.0.0.1:3306)/mydb

  • user:pass@unix(/tmp/mysql.sock)/mydb

Feature & Type Support

Feature MariaDB MySQL
Bulk Ingestion Create
Append
Create/Append
Replace
Temporary Table
Target Catalog
Target Schema
Non-nullable fields are marked NOT NULL
Catalog (GetObjects) depth=catalogs
depth=db_schemas
depth=tables
depth=columns (all)
Get Parameter Schema
Get Table Schema
Prepared Statements
Transactions

Types

Database to Arrow

Database Type MySQL MariaDB

BIGINT

int64

BIGINT UNSIGNED

uint64

BIT

binary

BOOLEAN

int64, int8 ⚠️ [1]

[1]

DATE

date32[day]

DATETIME

timestamp[us]

DOUBLE PRECISION

double

INT

int32

JSON

extension<arrow.json>

NUMERIC

decimal64

REAL

float

SMALLINT

int16

TIME

time64[us]

TIMESTAMP

timestamp[us], timestamp[us] (with time zone) ⚠️ [1]

[1]

VARBINARY

binary

VARCHAR

string

Arrow to Database

Arrow Type MySQL Type MariaDB Type
Bind Ingest Bind Ingest

binary

VARBINARY

binary_view

VARBINARY

bool

BOOLEAN

date32[day]

DATE

decimal128

DECIMAL

double

DOUBLE PRECISION

fixed_size_binary

VARBINARY

float

REAL

halffloat

REAL

(NA/not tested)

(NA/not tested)

int16

SMALLINT

int32

INT

int64

BIGINT

large_binary

VARBINARY

large_string

VARCHAR

string

VARCHAR

string_view

VARCHAR

time32[ms]

TIME

time32[s]

TIME

time64[ns]

TIME

time64[us]

TIME

timestamp[ms]

DATETIME

timestamp[ms] (with time zone)

TIMESTAMP

timestamp[ns]

DATETIME

timestamp[ns] (with time zone)

TIMESTAMP

timestamp[s]

DATETIME

timestamp[s] (with time zone)

TIMESTAMP

timestamp[us]

DATETIME

timestamp[us] (with time zone)

TIMESTAMP

uint16

SMALLINT UNSIGNED

uint32

INT UNSIGNED

uint64

BIGINT UNSIGNED

uint8

TINYINT UNSIGNED

Compatibility

This driver was tested on:

  • MySQL (unknown)

  • MySQL 9.4.0 (MySQL Community Server - GPL)

Previous Versions

To see documentation for previous versions of this driver, see the following: