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

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 解读非主流_所谓的非主流

    解读非主流_所谓的非主流解读非主流——当非主流成为主流互联网上非主流信息以几何级数倍增,作为非主流信息集聚载体的网站的建设者的我们——站长,该如何应对呢?如何适应这种大环境大气候的变化呢?《谁动了我的奶酪》告诉我们,要感觉良好,就好主动变化,而非被动挨打。全面投入非主流《——》主流的管道建设,实在是当务之急,也是有利可图的聪明人做的事情。下面就从主流的角度,解读下非主流…

    2022年10月17日
  • length命令怎么用Matlab,matlab中length函数用法「建议收藏」

    length命令怎么用Matlab,matlab中length函数用法「建议收藏」matlab中的length表示什么?应该如何使用?length:数组长度(即行数或列数中的较大值);使用方法:n=length(A):如果A为非空数组,返回行数和列数两者之间数值较大的那一个值,即相当于执行了max(size(A));如果A为空数组,则返回0;如果A是一个向量则返回A的长度。length(x)在matlab中是什么意思?iflength(h)>1||h<0…

  • matlab直方图绘制[通俗易懂]

    matlab直方图绘制[通俗易懂]x=[55,63,69,70,75,78,82,84,85,88,90,96,100];y=[1,2,1,6,4,7,2,1,3,2,4,2,1];bar(x,y)>>a=[54.5,64.5,74.5,84.5,94.5];>>b=[1,3,17,8,7];>>bar(a,b)barh():可以显示一个水平的条形图barh(a,b)bar3或bar3h:显示三维bar3(a,b)…

    2022年10月18日
  • CreatePipe 函数[通俗易懂]

    CreatePipe 函数[通俗易懂]创建管道共享数据[code="C++"]//创建匿名管道SECURITY_ATTRIBUTESsa;HANDLEhRead,hWrite;sa.nLength=sizeof(SECURITY_ATTRIBUTES);sa.lpSecurityDescriptor=NULL;sa.bInheritHandle=TRUE;CreatePipe(…

  • 获取32位模块_uuid多少位

    获取32位模块_uuid多少位UUID.randomUUID().toString().replace("-","");

  • Modbus TCP 入门学习[通俗易懂]

    Modbus TCP 入门学习[通俗易懂]记录下我入门学习的过程,供日后回看,文字部分多是转载他人blog,有注明来源地址;实验部分为真实测试结果。1.ModBus通讯协议简介  (摘抄:来自网络)Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议。通过此协议,控制器相互之间、或控制器经由网络(如以太网)可以和其它设备之间进行通信。Modbus协议使用的是主从通讯技术,即由主设备主动查询和操作从设备。一般将主控设备…

    2022年10月30日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号