Skip to main content

Pure Python MySQL Driver

Project description

Documentation Status codecov

PyMySQL

This package contains a pure-Python MySQL and MariaDB client library, based on PEP 249.

Requirements

  • Python -- one of the following:
  • MySQL Server -- one of the following:

Installation

Package is uploaded on PyPI.

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.

Example

The following examples make use of a simple table

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 ;
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:

{'password': 'very-secret', 'id': 1}

Resources

License

PyMySQL is released under the MIT License. See LICENSE for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_mysql_connector_python-1.1.3.tar.gz (74.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_mysql_connector_python-1.1.3-py3-none-any.whl (78.4 kB view details)

Uploaded Python 3

File details

Details for the file py_mysql_connector_python-1.1.3.tar.gz.

File metadata

File hashes

Hashes for py_mysql_connector_python-1.1.3.tar.gz
Algorithm Hash digest
SHA256 2edb541aca526d1cc84580426a54771dc60c7b06321c5cf540accfe66d1a7754
MD5 fe0acd7c78fa1a89c915966cc306cf3a
BLAKE2b-256 173c218694b1e7ab1d7118feaa4347fe8a4be4a4eaf82ff0c5e9357b2f7554f0

See more details on using hashes here.

File details

Details for the file py_mysql_connector_python-1.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for py_mysql_connector_python-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1cb2fe2e9e4d78c1887d43a0a377c29d565b1ded307c15cb2b8465d090734f6c
MD5 d9b1d5c7bff4d30ceb1e5a1b091bff19
BLAKE2b-256 d97fd531e4bbb2e37ed77bf35bf89dd3d13cfb85a6aef669bbb989d3ee665e71

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page