MySQL Connector/Python is implementing the MySQL Client/Server protocol completely in Python. No MySQL libraries are needed, and no compilation is necessary to run this Python DB API v2.0 compliant driver. Documentation & Download: http://dev.mysql.com/doc/connector-python/en
… image:: https://img.shields.io/pypi/v/mysql-connector-python.svg
:target: https://pypi.org/project/mysql-connector-python/
… image:: https://img.shields.io/pypi/pyversions/mysql-connector-python.svg
:target: https://pypi.org/project/mysql-connector-python/
… image:: https://img.shields.io/pypi/l/mysql-connector-python.svg
:target: https://pypi.org/project/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) <https://www.python.org/dev/peps/pep-0249/>
_ - We refer to it as the
Classic API <https://dev.mysql.com/doc/connector-python/en/connector-python-reference.html>
_.
… === ====
… ===
It also contains an implementation of the XDevAPI <https://dev.mysql.com/doc/x-devapi-userguide/en>
_
MySQL Document Store <https://dev.mysql.com/doc/refman/en/document-store.html>
_.… === ===
XDevAPI <https://dev.mysql.com/doc/x-devapi-userguide/en>
_”, “”)] ====Asynchronous Connectivity <https://dev.mysql.com/doc/connector-python/en/connector-python-asyncio.html>
_C-extension <https://dev.mysql.com/doc/connector-python/en/connector-python-cext.html>
_Telemetry <https://dev.mysql.com/doc/connector-python/en/connector-python-opentelemetry.html>
_XDevAPI <https://dev.mysql.com/doc/x-devapi-userguide/en>
_… === ====
Connector/Python contains the classic and XDevAPI connector APIs, which are
installed separately. Any of these can be installed from a binary
or source distribution.
Binaries are distributed in the following package formats:
RPM <https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/packaging_and_distributing_software/introduction-to-rpm_packaging-and-distributing-software>
_WHEEL <https://packaging.python.org/en/latest/discussions/package-formats/#what-is-a-wheel>
_On the other hand, the source code is distributed as a compressed file
from which a wheel package can be built.
The recommended way to install Connector/Python is via pip <https://pip.pypa.io/>
_,
which relies on WHEEL packages. For such a reason, it is the installation procedure
that is going to be described moving forward.
Please, refer to the official MySQL documentation Connector/Python Installation <https://dev.mysql.com/doc/connector-python/en/connector-python-installation.html>
_ to
know more about installing from an RPM, or building and installing a WHEEL package from
a source distribution.
Before installing a package with pip <https://pip.pypa.io/>
, it is strongly suggested
to have the most 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 <https://pip.pypa.io/en/latest/installation/>
.
… ===
The classic API can be installed via pip as follows:
… code-block:: bash
$ pip install mysql-connector-python
… === ====
… ===
similarly, the XDevAPI can be installed with:
… code-block:: bash
$ pip install mysqlx-connector-python
Please refer to the installation tutorial <https://dev.mysql.com/doc/dev/connector-python/installation.html>
_
for installation alternatives of the XDevAPI.
… === ===
++++++++++++++++++++
Installation Options
++++++++++++++++++++
Connector packages included in MySQL Connector/Python allow you to install
optional dependencies to unleash certain functionalities.
… ===
… code-block:: bash
# 3rd party packages to unleash the telemetry functionality are installed
$ pip install mysql-connector-python[telemetry]
… === ===
… ===
similarly, for the XDevAPI:
… code-block:: bash
# 3rd party packages to unleash the compression functionality are installed
$ pip install mysqlx-connector-python[compression]
… === ===
This installation option can be seen as a shortcut to install all the
dependencies needed by a particular feature. Mind that this is optional
and you are free to install the required dependencies by yourself.
… ===
Options for the Classic connector:
… === ===
… ===
Options for the XDevAPI connector:
… === ===
… code:: python
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()
… === ===
… code:: python
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()
… === ===
MySQL Connector/Python X DevAPI Reference <https://dev.mysql.com/doc/dev/connector-python/>
“, “”), repl-mysqlx(”- MySQL Connector/Python Developer Guide <https://dev.mysql.com/doc/connector-python/en/>
”, “”)] ===MySQL Connector/Python Developer Guide <https://dev.mysql.com/doc/connector-python/en/>
_MySQL Connector/Python X DevAPI Reference <https://dev.mysql.com/doc/dev/connector-python/>
_MySQL Connector/Python Forum <http://forums.mysql.com/list.php?50>
_MySQL Public Bug Tracker <https://bugs.mysql.com>
_Slack <https://mysqlcommunity.slack.com>
_ (Sign-up <https://lefred.be/mysql-community-on-slack/>
_ required if you do not have an Oracle account)Stack Overflow <https://stackoverflow.com/questions/tagged/mysql-connector-python>
_Oracle Blogs <https://blogs.oracle.com/search.html?q=connector-python>
_… === ===
There are a few ways to contribute to the Connector/Python code. Please refer
to the contributing guidelines <CONTRIBUTING.md>
_ for additional information.
Please refer to the README.txt <README.txt>
_ and LICENSE.txt <LICENSE.txt>
_
files, available in this repository, for further details.