- Notifications
You must be signed in to change notification settings - Fork1.4k
MySQL client library for Python
License
NotificationsYou must be signed in to change notification settings
PyMySQL/PyMySQL
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This package contains a pure-Python MySQL and MariaDB client library, based onPEP 249.
- Python -- one of the following:
- MySQL Server -- one of the following:
Package is uploaded onPyPI.
You can install it with pip:
$ python3 -m pip install PyMySQL
To use "sha256_password" or "caching_sha2_password" for authenticate,you need to install additional dependency:
$ python3 -m pip install PyMySQL[rsa]
To use MariaDB's "ed25519" authentication method, you need to installadditional dependency:
$ python3 -m pip install PyMySQL[ed25519]
Documentation is available online:https://pymysql.readthedocs.io/
For support, please refer to theStackOverflow.
The following examples make use of a simple table
CREATETABLE `users` (`id`int(11)NOT NULL AUTO_INCREMENT,`email`varchar(255) COLLATE utf8_binNOT NULL,`password`varchar(255) COLLATE utf8_binNOT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_binAUTO_INCREMENT=1 ;
importpymysql.cursors# Connect to the databaseconnection=pymysql.connect(host='localhost',user='user',password='passwd',database='db',cursorclass=pymysql.cursors.DictCursor)withconnection:withconnection.cursor()ascursor:# Create a new recordsql="INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"cursor.execute(sql, ('webmaster@python.org','very-secret'))# connection is not autocommit by default. So you must commit to save# your changes.connection.commit()withconnection.cursor()ascursor:# Read a single recordsql="SELECT `id`, `password` FROM `users` WHERE `email`=%s"cursor.execute(sql, ('webmaster@python.org',))result=cursor.fetchone()print(result)
This example will print:
{'password':'very-secret','id':1}
- DB-API 2.0:https://www.python.org/dev/peps/pep-0249/
- MySQL Reference Manuals:https://dev.mysql.com/doc/
- Getting Help With MariaDBhttps://mariadb.com/kb/en/getting-help-with-mariadb/
- MySQL client/server protocol:https://dev.mysql.com/doc/internals/en/client-server-protocol.html
- "Connector" channel in MySQL Community Slack:https://lefred.be/mysql-community-on-slack/
- PyMySQL mailing list:https://groups.google.com/forum/#!forum/pymysql-users
PyMySQL is released under the MIT License. See LICENSE for moreinformation.
About
MySQL client library for Python