python3.x连接mysql数据库

        大家在用python2.7以前的版本时,可能后台数据库用的都是mysqldb,但是python新版本出来之后,还没有能支持python3.x版本的mysqldb,毕竟python不满足向下兼容。但是在python3.x中可以用新的库pymysql,这个库可以直接用pip下载。具体下载步骤读者可以查看相关的学习资料,博主在这里就不做详细介绍了,这篇技术博文主要是介绍一下pymysql这个库如何连接数据库并执行数据库操作的。

图中做标记的地方都是要非常注意的,这些地方都很容易出错。

       首先在代码最前面要写上#coding=utf8的注释,这是用来指定这个模块的编码方式,这里采用的是utf8编码集,然后要注意connect的参数里面port的类型是数字,这个port参数是用来指定mysql数据库的连接端口的。

        数据库操作需要用到try。。。finally。。。操作块,因为完成数据库操作之后需要保证数据库连接的安全关闭,不然会有线程一直占用数据库连接池,用try。。。finally。。。操作块不论try块中的代码有没有正常运行结束,finally中的代码一定会保证其执行。

        这里在关闭连接之前先进行了一个判断,主要是防止这样的情况产生,有可能程序运行到try块中的第一个语句时就出现异常了,然后此时直接进入finally块运行,但是由于没有运行cur=conn.cursor()这一条语句,因此cur这个变量还不存在,此时如果直接使用cur.close()的话就会出现错误,为了防止这种情况的产生,这里调用了locals().keys()这个方法,这个方法可以返回当前这个运行环境中所有存在变量的名字,因此可以用这种方式先来判断cur这个变量是否存在,如果存在则关闭连接,如果不存在则不需要进行close()操作了。

        另外这里的cur.fetchall()方法返回的是查询结果,是一个元组类型

        这里只是博主经常用到的一种pymysql的连接方式,当然肯定还有其他的比较适用的连接方式。博主也只是本着交流分享的目的,把自己学习python时遇到的一些问题,或总结的经验拿出来分享给各位博友,大家可以一起探讨,一起学习,一起收获,毕竟闭门造轮子的方式已经不适合这个时代了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值