位置: 编程技术 - 正文

浅析Python中MySQLdb的事务处理功能

编辑:rootadmin

推荐整理分享浅析Python中MySQLdb的事务处理功能,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

任何应用都离不开数据,所以在学习python的时候,当然也要学习一个如何用python操作数据库了。MySQLdb就是python对mysql数据库操作的模块。今天写了个工具,目的是把csv中的数据插入到数据库中去。其中有一部分,是需要分别向两张表中插入两条数据,如果第二张表中的数据已经存在,那么第一张表中的数据也不需要插入。

然后通过百度查找发现,其实MySQLdb库,自带了事务处理的功能,pymysql库也是一样。

浅析Python中MySQLdb的事务处理功能

当我们使用cursor.execute(SQL)执行一条Insert/Update/Delete语句后,我们需要使用conn.commit()提交事务,否则,语句不会生效。

其实我们常用的commit() ,就是包含了一种事务处理的概念,如果你在commit()之前,执行了多条语句,只有当commit()之后,才会全部生效。

那么如果像文章开始提到的那样,执行两条插入语句,我们可以把conn.commit()语句放在两条插入语句执行之后,并放在try语句块内,如果差生异常,我们可以使用:

这个语句可以使事务回滚,直到上一条conn.commit()执行之后的位置。

所以,我的代码是这样写的,这里我就简单的写了,并没有用类来封装了:

总结

这就可以达到我们的目的了。其实更优雅的方法是,对事务处理进行一个封装,将处理过程写在自己的类的方法中,并接受1个SQL语句序列(可能包含1条或多条SQL语句)作为参数,返回事务执行状态即可。

标签: 浅析Python中MySQLdb的事务处理功能

本文链接地址:https://www.jiuchutong.com/biancheng/384471.html 转载请保留说明!

上一篇:Python 爬虫学习笔记之多线程爬虫(python爬虫教程推荐)

下一篇:Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)(python3的urllib)

  • 税务师考试的报名费怎么还没有退成功
  • 增值税发票遗失怎么操作
  • 营业执照注销还需要交钱吗
  • 国有企业取得的土地收储款是否要上缴财政
  • 去年福利费今年怎么算
  • 进项税发票已经认证但对方又作废
  • 小规模纳税人出租房屋增值税税率是多少
  • 公司注销欠法人款怎么帐务处理?
  • 最新出口退税率调整
  • 固定资产折旧年限及残值率
  • 注销企业很麻烦
  • 个体户开劳务费税率
  • 苹果手机电池低于多少需要更换
  • win10右键个性化提示该文件没有与之关联
  • 苹果电脑任务栏跑到左边去了
  • 存货跌价准备是谁的备抵账户
  • 腾讯电脑管家怎么修复dll
  • 文化事业建设费减免政策
  • 非常损失计入
  • php curl post请求
  • 土地使用权进项税如何抵扣
  • 预计负债内容
  • 本月购买原材料怎么入账
  • ctfmon.exe文件在哪
  • 建造一座污水处理池投资了45万元
  • 购买专利权的会议纪要
  • 中拍网拍卖
  • 转租会计如何记账
  • 固定资产一次性加速折旧
  • 银行罚息计入什么会计科目
  • php变量函数
  • 信用减值损失属于损益类科目吗
  • 定额发票过期时间是多久
  • php传值给js
  • 网络分割算法
  • extract php函数
  • 企业管理咨询合作协议
  • java强制类型转换有哪些
  • strippped
  • 委托加工应税消费品
  • 小规模纳税人如何申报增值税
  • 运输行业一般纳税人开普票税率是多少
  • 税款追征期三年
  • 个人利息收入怎么计算个税
  • 国际货运代理需要什么样的人才
  • mysql中数据类型主要分为哪四种
  • 向农业生产者收购的原木 进项
  • 房地产企业成本包括哪些
  • 关于国内旅客运输的规定
  • 工会应付下级经费
  • 投资利润率怎么看投资好还是不好
  • 预付账款怎么做坏账
  • 银行存款利息计算器在线计算器
  • 合作社开具免税发票流程
  • 成本法与权益法的区别会计分录
  • MySQL Semisynchronous Replication介绍
  • 酷炫技术:使用ssh登录管理windows系统
  • win10右键自动弹出
  • 文本文件模式
  • 如何使用组策略脚本
  • win10改用microsoft账户登录
  • avgorange是什么文件
  • win10系统家庭组如何关闭家庭组访问用户名密码
  • linux共享内存同步机制
  • linux设置mac
  • 电脑主板驱动
  • win7连接VPN时提示800错误怎么办 连接VPN时提示错误800解决方法
  • linux设置utf8编码
  • Metaio in Unity3d 教程--- 二. 创建自己的Application
  • js获取json数组中的值
  • ExtJS PropertyGrid中使用Combobox选择值问题
  • css如何控制图片位置
  • vue组件互相嵌套
  • 广东省税务局官网 国家税务总局
  • 注册会计师和注册建造师哪个难考
  • 地税收税标准
  • 公积金扣800一个月多少钱
  • 个人所得税是按实发工资还是应发
  • 怎么查询公司法人电话号码
  • 重置税务密码
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设