Create Mysql Pool
from pymysqlpool.pooled_db import PooledDB
pool = PooledDB(
max_connections=10, # 连接池允许的最大连接数,0和None表示不限制连接数
set_session=[f'SET time_zone = "+8:00"', 'SET autocommit=1'], # 开始会话前执行的命令列表。如:["set datestyle to …", "set time zone …"]
ping=1, # ping 探活。 0=None=never, 1=default=requested,2=cursor created, 4=query executed,7=always
host="127.0.0.1",
port=3306,
user="root",
password="admin",
database="testdb",
charset="utf8"
)
Execute sql command
select
conn = pool.connect()
try:
cursor = conn.cursor()
cursor.execute("select * from table")
result = cursor.fetchall()
cursor.close()
finally:
# 这里回收连接
conn.close()
insert
创建pool的时候,如果设置了自动提交,即set_session参数包含SET autocommit=1语句,
那么insert之后无需调用commit(),否则需要调用commit()手动提交。
conn = pool.connect()
try:
cursor = conn.cursor()
cursor.execute("insert into table value(...)")
# conn.commit()
cursor.close()
finally:
# 这里回收连接
conn.close()
update
创建pool的时候,如果设置了自动提交,即set_session参数包含SET autocommit=1语句,
那么update之后无需调用commit(),否则需要调用commit()手动提交。
conn = pool.connect()
try:
cursor = conn.cursor()
cursor.execute("update table set col='val' where condition")
# conn.commit()
cursor.close()
finally:
# 这里回收连接
conn.close()
transaction
事务,调用begin()和commit()分别开启和提交事务
conn = pool.connect()
try:
cursor = conn.cursor()
# start transaction
conn.begin()
cursor.execute("update table set col1=val1 where condition")
cursor.execute("update table set col2=val2 where condition")
# commit transaction
conn.commit()
cursor.close()
finally:
# 这里回收连接
conn.close()
Metadata
Release files for pymysql-dbpool 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pymysql-dbpool-0.0.1.tar.gz | 4.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pymysql_dbpool-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.3 kB
Release files / pymysql-dbpool-0.0.1.tar.gz
| Download URL | pymysql-dbpool-0.0.1.tar.gz |
|---|---|
| Size | 4.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0431b9b8448a02d82c97dd0193a2aeb6c6155904371937041376dc3a418fee96
|
|
BLAKE2b-256 checksum How to use checksums |
5e55d8dc3832296be8d5ecf905b511445103ea5e28f85c33b473dd5723dd2183
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.9
|
Release files / pymysql_dbpool-0.0.1-py3-none-any.whl
| Download URL | pymysql_dbpool-0.0.1-py3-none-any.whl |
|---|---|
| Size | 5.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
49f91cad1407dea687672f8dec141c4a0007580bfa17d94b52d12c8e2be202c0
|
|
BLAKE2b-256 checksum How to use checksums |
b9d9d5bff54e6416eafa8d78f4cb9eaa02b9efcc38fac624d2eb5f9c58a29e34
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.9
|
Security for pymysql-dbpool 0.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.