首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >mysql数据库连接池,查询与插入数据的不同

mysql数据库连接池,查询与插入数据的不同

作者头像
全栈程序员站长
发布2022-07-19 12:36:09
发布2022-07-19 12:36:09
2.7K0
举报

大家好,又见面了,我是全栈君。

mysql数据库连接池用于连接数据库通道。

在普通模式中,我们操作数据库时,都需要打开一次数据库,查询,修改,删除,再关闭一次数据,对数据库比较不友好。

增加连接池,就减少了重复打开关闭数据库的麻烦。只打开一次数据库,我们只需要连接连接池,关闭连接池就行。省去了重复打开,关闭的麻烦。

代码语言:javascript
复制
在最新版安装连接池需要使用命令

pip install pooled_db进行安装

from dbutils.pooled_db import PooledDB


POOL = PooledDB(
    creator=pymysql,  # 使用链接数据库的模块
    maxconnections=10,  # 连接池允许的最大连接数,0和None表示不限制连接数
    mincached=3,  # 初始化时,链接池中至少创建的空闲的链接,0表示不创建
    maxcached=0,  # 链接池中最多闲置的链接,0和None不限制
    maxshared=3,
    blocking=True, # 连接池中如果没有可用连接后,是否阻塞等待。True,等待;False,不等待然后报错
    maxusage=None,# 一个链接最多被重复使用的次数,None表示无限制
    setsession=[], # 开始会话前执行的命令列表。如:
    ping=0,    # ping MySQL服务端,检查是否服务可用。
    host='127.0.0.1',port=3306,user='root',password='root',database='knowledge',charset='utf8')


def select_test():#查询
    db = POOL.connection()#初始化链接池
    conn = db.cursor()# 使用cursor()方法获取操作游标
    conn.execute("select ……")# 使用execute方法执行SQL语句
    data = conn.fetchall()# 使用 fetchone() 方法获取一条数据
    db.close()#关闭连接池
    return data

def insert_test():#插入
    db = POOL.connection()
    conn = db.cursor()# 使用cursor()方法获取操作游标
    conn.execute("insert ……")# 使用execute方法执行SQL语句
    data=db.commit()#注意,插入与查询的区别
    db.close()
    return data

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/111378.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年2月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档