前言
本文主要讲述pymysql操作数据库的基本流程,以及DBUtils模块如何创建连接池的那些事。
pymsql操作数据库的流程
import pymysql
# 创建连接
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='py_test', charset='utf8')
# 创建游标
cursor = conn.cursor()
# 执行SQL,并返回收影响行数
effect_row = cursor.execute("select * from table1")
# 提交,不然无法保存新建或者修改的数据
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
如上,每一次数据库操作都需要执行commit和关闭游标、关闭连接的操作,所以一般会做一层封装,如下:
# base_model.py
mysql_config = mysql.mysql_config()
mysql_pool = PooledDB(
creator=pymysql,
maxconnections=10,
host=mysql_config['host'],
port=mysql_config['port'],