| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- Metadata-Version: 2.1
- Name: PyMySQL
- Version: 1.1.1
- Summary: Pure Python MySQL Driver
- Author-email: Inada Naoki <songofacandy@gmail.com>, Yutaka Matsubara <yutaka.matsubara@gmail.com>
- License: MIT License
- Project-URL: Project, https://github.com/PyMySQL/PyMySQL
- Project-URL: Documentation, https://pymysql.readthedocs.io/
- Keywords: MySQL
- Classifier: Development Status :: 5 - Production/Stable
- Classifier: Programming Language :: Python :: 3
- Classifier: Programming Language :: Python :: 3.7
- Classifier: Programming Language :: Python :: 3.8
- Classifier: Programming Language :: Python :: 3.9
- Classifier: Programming Language :: Python :: 3.10
- Classifier: Programming Language :: Python :: 3.11
- Classifier: Programming Language :: Python :: 3.12
- Classifier: Programming Language :: Python :: Implementation :: CPython
- Classifier: Programming Language :: Python :: Implementation :: PyPy
- Classifier: Intended Audience :: Developers
- Classifier: License :: OSI Approved :: MIT License
- Classifier: Topic :: Database
- Requires-Python: >=3.7
- Description-Content-Type: text/markdown
- License-File: LICENSE
- Provides-Extra: ed25519
- Requires-Dist: PyNaCl >=1.4.0 ; extra == 'ed25519'
- Provides-Extra: rsa
- Requires-Dist: cryptography ; extra == 'rsa'
- [](https://pymysql.readthedocs.io/)
- [](https://codecov.io/gh/PyMySQL/PyMySQL)
- # PyMySQL
- This package contains a pure-Python MySQL client library, based on [PEP
- 249](https://www.python.org/dev/peps/pep-0249/).
- ## Requirements
- - Python -- one of the following:
- - [CPython](https://www.python.org/) : 3.7 and newer
- - [PyPy](https://pypy.org/) : Latest 3.x version
- - MySQL Server -- one of the following:
- - [MySQL](https://www.mysql.com/) \>= 5.7
- - [MariaDB](https://mariadb.org/) \>= 10.4
- ## Installation
- Package is uploaded on [PyPI](https://pypi.org/project/PyMySQL).
- 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 install
- additional dependency:
- $ python3 -m pip install PyMySQL[ed25519]
- ## Documentation
- Documentation is available online: <https://pymysql.readthedocs.io/>
- For support, please refer to the
- [StackOverflow](https://stackoverflow.com/questions/tagged/pymysql).
- ## Example
- The following examples make use of a simple table
- ``` sql
- CREATE TABLE `users` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `email` varchar(255) COLLATE utf8_bin NOT NULL,
- `password` varchar(255) COLLATE utf8_bin NOT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
- AUTO_INCREMENT=1 ;
- ```
- ``` python
- import pymysql.cursors
- # Connect to the database
- connection = pymysql.connect(host='localhost',
- user='user',
- password='passwd',
- database='db',
- cursorclass=pymysql.cursors.DictCursor)
- with connection:
- with connection.cursor() as cursor:
- # Create a new record
- sql = "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()
- with connection.cursor() as cursor:
- # Read a single record
- sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s"
- cursor.execute(sql, ('webmaster@python.org',))
- result = cursor.fetchone()
- print(result)
- ```
- This example will print:
- ``` python
- {'password': 'very-secret', 'id': 1}
- ```
- ## Resources
- - DB-API 2.0: <https://www.python.org/dev/peps/pep-0249/>
- - MySQL Reference Manuals: <https://dev.mysql.com/doc/>
- - 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>
- ## License
- PyMySQL is released under the MIT License. See LICENSE for more
- information.
|