pymysql-kits 0.1.4

Last updated:

0 purchases

pymysql-kits 0.1.4 Image
pymysql-kits 0.1.4 Images
Add to Cart

Description:

pymysqlkits 0.1.4

pymysql_kits
pymysql_kits is a tool based on PyMySQL. It can quickly establish a database connection pool and conveniently execute SQL statements.
Contributing:

The database connection pool module code comes from mysql/mysql-connector-python.
The SQL statement operation code comes from hopehook/python-lab.

Requirements

Python – one of the following:

CPython : 2.7 and >= 3.4
PyPy : Latest version


MySQL Server – one of the following:

MySQL >= 5.5
MariaDB >= 5.5


PyMySQL >= 0.8.1

Installation
pip install pymysql-kits
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=utf8 COLLATE=utf8_bin
AUTO_INCREMENT=1 ;

PyMySQLConnectionPool Demo
from pymysql_kits.pooling import PyMySQLConnectionPool

db_conf = {
"host": "localhost",
"user": "user",
"password": "passwd",
"database": "db",
"port": 3306,
"autocommit": True,
"charset": "utf8mb4",
}

# Create connection pool
db_pool = PyMySQLConnectionPool(pool_size=5, pool_name='local_pool', **db_conf)

# Get a connection
connection = db_pool.get_connection()
try:
with connection.cursor() as cursor:
# Create a new record
sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
cursor.execute(sql, ('[email protected]', '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, ('[email protected]',))
result = cursor.fetchone()
print(result)
finally:
connection.close()

Connections and Transaction Demo
from pymysql_kits import Connections

db_conf = {
"host": "localhost",
"user": "user",
"password": "passwd",
"database": "db",
"port": 3306,
"autocommit": True,
"charset": "utf8mb4",
}

# Create a connection poll
conn = Connections(pool_size=5, **db_conf)

# Query
result = conn.fetchall("SELECT `id`, `password` FROM `users` WHERE `email`=%s", ('[email protected]',))
print(result)

# Insert
conn.insert("INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)", ('[email protected]', 'very-secret'))

# For transaction
transaction = conn.begin()
try:
transaction.insert("INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)", ('[email protected]', 'very-secret'))
except:
transaction.rollback()
else:
transaction.commit()
finally:
transaction.close()

# or
with conn.begin() as transaction:
transaction.insert("INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)", ('[email protected]', 'very-secret'))

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

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.