位置: 编程技术 - 正文

浅析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)

  • 合同履约成本资本化
  • 国家税务总局操作指引
  • 个所税包括什么
  • 固定资产的确认条件包括
  • 支付电费未开具发票
  • 当年亏损额为什么不能填?
  • 一年房租正常摊销多少
  • 金税盘当月不抵扣如何做分录
  • 固定资产进项税额
  • 津贴个人所得税怎么算出来的
  • 专项用途财政资金纳税调整规则
  • 税局代开专票对方隔月退回重开如何做账务处理呢?
  • 企业如何申请科研项目
  • 企业利息收入的税率是多少
  • 快递费开专票怎么入账
  • 营改增后,企业购进自用小轿车增值税
  • 小规模自开专票怎么交税
  • 企业所得税可以退税吗
  • 稽查以前年度补税
  • 初级备考日记
  • 咨询费属于什么大类
  • 自然人独资属于什么经济性质
  • 中国石化开的增值税票是几个点的
  • win 7系统如何备份
  • php7 数组
  • windows 11硬件
  • Win10 Build21376内测版发布 重新设计默认用户界面字体
  • 酒店没有营业执照开业员工有责任吗
  • PHP:stream_register_wrapper()的用法_Stream函数
  • PHP:php_check_syntax()的用法_misc函数
  • manager's office是什么意思
  • PHP:iconv_set_encoding()的用法_iconv函数
  • 梅林澳大利亚信号好最好吗
  • 微信小程序前端源码
  • word下划线怎么延长
  • 扣缴义务人需要办理税务登记吗
  • 销售货物收到普票会计分录
  • 以不动产作价出资入股
  • umount -l命令
  • php 后端
  • php怎么实现输入数字
  • 应收应付对冲的会计分录
  • 公交充值卡发票在哪里开
  • 产成品报废会计处理
  • 银行开出的承兑怎么兑现
  • 怎么安装vue-cli脚手架
  • 帝国cms如何使用
  • 钢管租赁如何跑业务
  • 总公司签合同开票分公司做业务分公司如何确认收入?
  • 财务会计报表的使用者有哪些
  • 长期借款转其他应付款
  • 个税起征点提高的意义
  • 其他应付款不用还了怎么处理
  • 新冠肺炎疫情相关租金减让
  • 预付调整到其他应付款
  • 计提盈余公积比例
  • 借款利息怎么记账
  • mysql三层架构
  • mac安装mysql
  • windows server 2003 r2 序列号
  • 主板各个系列详解
  • 苹果mac双系统怎么删除
  • 防盗信息
  • windows8.1的设置在哪
  • 文件在移动或复制过程中权限的变化
  • linux滚动更新是什么
  • ie9收藏夹
  • kernel-headers-2.2.1-4
  • cocos3d物理引擎
  • opengl图形裁剪
  • 批处理有何限制
  • javascript html5移动端轻松实现文件上传
  • Eclipse运行快捷键
  • javascript教程完整版
  • 用js实现类的方法
  • bootstrap steps
  • python操作json字符串
  • 辽宁事业单位职测考试时间多长
  • 仓储物流企业的事故指标
  • 公司如何制定制度
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设