Connecting to MySQL using Opteryx
This short guide demonstrates how to connect to MySQL using Opteryx and SQLAlchemy.
Installation
Install Opteryx and libraries for connecting to MySQL.
Registering MySQL with Opteryx
Create a SQLAlchemy Engine and register it as a store with Opteryx.
import opteryx
from opteryx.connectors import SqlConnector
from sqlalchemy import create_engine
# Replace with your connection string.
# For more information on SQLAlchemy Engine, see:
# https://docs.sqlalchemy.org/en/20/tutorial/engine.html#tutorial-engine
connection_string = "mysql+pymysql://<user>:<password>@<server>/"
sqlalchemy_engine = create_engine(connection_string)
# Register as a store. Queries for relations with the provided prefix will
# be directed to this database.
opteryx.register_store(
prefix="mysql_example", # use this prefix before table names in queries
connector=SqlConnector,
remove_prefix=True, # the prefix isn't part of the MySQL table name
engine=sqlalchemy_engine,
)
Parameters Explained
prefixA string to identify which queries should be directed to this database.connectorThe type of connector to use.remove_prefixBoolean flag to indicate if the prefix should be removed when querying the actual MySQL table.engineSQLAlchemy Engine to connect to MySQL.
Querying MySQL from Opteryx
# Execute query against the store.
result = opteryx.query("SELECT * FROM mysql_example.planets LIMIT 5;")
result.head()
Other Services
Opteryx supports connecting to other SQL engines using this method, such as Postgres, CockroachDB, and DuckDB.
Related Guides
- Connect to PostgreSQL - Query PostgreSQL databases
- Connect to BigQuery - Query Google BigQuery
- Connect to DuckDB - Query DuckDB databases
- Connect to SQLite - Query SQLite databases
- Polars Integration - Work with query results in Polars