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

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

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

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

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

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

 

在最新版安装连接池需要使用命令

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.net/111378.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue的双向绑定原理_vue2双向绑定原理

    vue的双向绑定原理_vue2双向绑定原理1、背景今天要讲的内容是Web前端框架vue.js中的一个细节,注意是细节哦,稍不留神就掉坑里了。由于这两天在公司开发前端vue页面,踩到了一个坑,这个坑不大不小的,但是对于我这种除非公司需要,否则不会主动学习前端技术的后端开发者来说,这个坑困扰了我半天时间。无论怎么修改代码,还是实现不了效果,归根结底还是没有找到问题的点所在。凡事都有好的一面,今天上午脑子就开了光,思路比昨天下午清晰多了,顺着思路,我终于发现了问题的点所在,然后百度一搜,果然是这样,嗨!于是我决定总结一番!大家都知道,vu

    2022年10月18日
    5
  • idea激活码 0.0.0.0_通用破解码

    idea激活码 0.0.0.0_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    75
  • 最简单的vue上传图片

    最简单的vue上传图片