MySQL Connector/Python
MySQL Connector/Python enables Python programs to access MySQL databases, using an API that is compliant with the Python Database API Specification v2.0 (PEP 249). It also contains an implementation of the X DevAPI, an Application Programming Interface for working with the MySQL Document Store.
Installation
The recommended way to install Connector/Python is via pip.
Make sure you have a recent pip version installed on your system. If your system already has pip
installed, you might need to update it. Or you can use the standalone pip installer.
shell> pip install mysql-connector-python
Please refer to the installation tutorial for installation alternatives.
Getting Started
Using the MySQL classic protocol:
import mysql.connector
# Connect to server
cnx = mysql.connector.connect(
host="127.0.0.1",
port=3306,
user="mike",
password="s3cre3t!")
# Get a cursor
cur = cnx.cursor()
# Execute a query
cur.execute("SELECT CURDATE()")
# Fetch one result
row = cur.fetchone()
print("Current date is: {0}".format(row[0]))
# Close connection
cnx.close()
Using the MySQL X DevAPI:
import mysqlx
# Connect to server
session = mysqlx.get_session(
host="127.0.0.1",
port=33060,
user="mike",
password="s3cr3t!")
schema = session.get_schema("test")
# Use the collection "my_collection"
collection = schema.get_collection("my_collection")
# Specify which document to find with Collection.find()
result = collection.find("name like :param") \
.bind("param", "S%") \
.limit(1) \
.execute()
# Print document
docs = result.fetch_all()
print(r"Name: {0}".format(docs[0]["name"]))
# Close session
session.close()
Please refer to the MySQL Connector/Python Developer Guide and the MySQL Connector/Python X DevAPI Reference for a complete usage guide.
Additional Resources
- MySQL Connector/Python Developer Guide
- MySQL Connector/Python X DevAPI Reference
- MySQL Connector/Python Forum
- MySQL Public Bug Tracker
- Slack (Sign-up required if you do not have an Oracle account)
- Stack Overflow
- InsideMySQL.com Connectors Blog
Contributing
There are a few ways to contribute to the Connector/Python code. Please refer to the contributing guidelines for additional information.
License
Please refer to the README.txt and LICENSE.txt files, available in this repository, for further details.