AttributeError: module 'pymysql' has no attribute 'PooledDB'
时间: 2023-11-17 17:06:32 浏览: 129
关于.NET Attribute在数据校验中的应用教程
AttributeError: module 'pymysql' has no attribute 'PooledDB'是因为pymysql模块中没有PooledDB属性。PooledDB是DBUtils模块中的一个连接池类,用于管理数据库连接。如果你想使用PooledDB,需要先安装DBUtils模块并导入。以下是一个使用PooledDB连接池的示例代码:
```python
import pymysql
from dbutils.pooled_db import PooledDB
# 创建连接池
pool = PooledDB(
creator=pymysql, # 使用pymysql作为连接池的数据库连接库
maxconnections=5, # 连接池允许的最大连接数,0和None表示不限制连接数
mincached=2, # 初始化时连接池中至少创建的空闲连接,0表示不创建
maxcached=5, # 连接池中最多闲置的连接,0和None表示不限制
maxshared=3, # 连接池中最多共享的连接数量,0和None表示全部共享
blocking=True, # 连接池中如果没有可用连接后,是否阻塞等待
maxusage=None, # 一个连接最多被重复使用的次数,None表示无限制
setsession=[], # 开始会话前执行的命令列表
ping=0, # ping MySQL服务端,检查服务是否可用
host='localhost',
port=3306,
user='root',
password='123456',
database='test',
charset='utf8mb4'
)
# 从连接池中获取一个连接
conn = pool.connection()
# 使用连接进行数据库操作
cursor = conn.cursor()
cursor.execute('SELECT * FROM users')
result = cursor.fetchall()
print(result)
# 将连接放回连接池
conn.close()
```
阅读全文