300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Python操作数据库及Python实现mysql数据库连接池源代码

Python操作数据库及Python实现mysql数据库连接池源代码

时间:2019-01-29 19:16:20

相关推荐

Python操作数据库及Python实现mysql数据库连接池源代码

简介

pymysql:纯Python实现的一个驱动。因为是纯Python编写的,因此执行效率不如MySQL-python。并且也因为是纯Python编写的,因此可以和Python代码无缝衔接。

MySQL Connector/Python:MySQL官方推出的使用纯Python连接MySQL的驱动。因为是纯Python开发的,效率不高。

MySQL-python:也就是MySQLdb。是对C语言操作MySQL数据库的一个简单封装。遵循了Python DB API v2。但是只支持Python2,目前还不支持Python3。

mysqlclient:是MySQL-python的另外一个分支。支持Python3并且修复了一些bug。

完整代码下载地址:Python操作数据库及Python实现mysql数据库连接池源代码

PyMySQL

Python3 MySQL 数据库连接 - PyMySQL 驱动

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。

pip3 install PyMySQL

案例

这里以查询秒杀商品数据为例:

#!/usr/bin/python3import pymysql# 打开数据库连接db = pymysql.connect("localhost", "root", "123456", "seckill")# 使用 cursor() 方法创建一个游标对象 cursorcursor = db.cursor()# 使用 execute() 方法执行 SQL 查询cursor.execute("SELECT * FROM seckill")# 使用 fetchall() 方法获取s所有数据.data = cursor.fetchall()print(data)# 关闭数据库连接db.close()

mysql-connector

mysql-connector 是 MySQL 官方提供的驱动器。

我们可以使用 pip 命令来安装 mysql-connector:

pip3 install mysql-connector

案例

这里以查询秒杀商品数据为例:

#!/usr/bin/python3import mysql.connector# 打开数据库连接# db = pymysql.connect("localhost", "root", "123456", "seckill")db = mysql.connector.connect(host="localhost",user="root",passwd="123456",database="seckill")# 使用 cursor() 方法创建一个游标对象 cursorcursor = db.cursor()# 使用 execute() 方法执行 SQL 查询cursor.execute("SELECT * FROM seckill")# 使用 fetchall() 方法获取s所有数据.data = cursor.fetchall()print(data)# 关闭数据库连接db.close()

python编程中可以使用MySQLdb进行数据库的连接及诸如查询/插入/更新等操作,但是每次连接mysql数据库请求时,都是独立的去请求访问,相当浪费资源,

而且访问数量达到一定数量时,对mysql的性能会产生较大的影响。

因此,实际使用中,通常会使用数据库的连接池技术,来访问数据库达到资源复用的目的。

安装数据库连接池模块DBUtils

pip3 install DBUtils

DBUtils是一套Python数据库连接池包,并允许对非线程安全的数据库接口进行线程安全包装。DBUtils来自Webware for Python。

DBUtils提供两种外部接口:

PersistentDB :提供线程专用的数据库连接,并自动管理连接。

PooledDB :提供线程间可共享的数据库连接,并自动管理连接。

dbapi :数据库接口

mincached :启动时开启的空连接数量

maxcached :连接池最大可用连接数量

maxshared :连接池最大可共享连接数量

maxconnections :最大允许连接数量

blocking :达到最大数量时是否阻塞

maxusage :单个连接最大复用次数

根据自己的需要合理配置上述的资源参数,以满足自己的实际需要。

完整代码下载地址:Python操作数据库及Python实现mysql数据库连接池源代码

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。