位置: 编程技术 - 正文

浅析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改装win7,有图文教程
  • 进项票与实际支出金额不符
  • system idle process是什么进程(CPU的空闲率)
  • 收回应收账款会影响应收账款的账面价值吗
  • 商业会计结转成本
  • 苹果手机下载爱思极速版有什么影响
  • 文件pages
  • 进货的折扣该怎么算
  • 企业自建自用房的规定
  • php的file函数
  • 关联方借款利息所得税前扣除
  • 角马群的迁徙方向
  • 企业代扣代缴个人所得税会计分录
  • 分公司与总公司不在一个城市如何起诉
  • 索洛维茨在哪
  • 动销率怎么看
  • php实现和工作原理
  • framework怎么查看
  • webpack插件执行顺序
  • ci框架视频教程
  • 织梦怎么调用当前栏目下的文章
  • 对公账户怎么打印
  • 劳务派遣申报表附表一怎么填
  • 征收率是税率吗
  • 织梦自适应代码怎么做
  • 金蝶系统结账之后反结账
  • win7系统安装包在哪个文件夹
  • 建筑公司购买材料直接入工程施工了可以吗?
  • 计提工会经费会计凭证怎么做分录
  • 租来的厂房如何交税
  • 低值易耗品费用记在什么费用
  • 检测公司成本科目
  • 出口运保费是什么费用
  • 年底结账会计要怎么做账
  • 收到红字发票如何入账
  • 实缴发票和月结发票知乎
  • 房地产项目企业
  • Linux下mysql5.6.33安装配置教程
  • 输入法是全角在哪里设置
  • gentoo安装教程2021
  • 免费升win10时升级后一直有效吗
  • nacos监控服务
  • ES6 javascript的异步操作实例详解
  • 批处理操作
  • 多个版本python
  • js中的filter方法
  • linux系统启动进程命令
  • jQuery使用$.ajax提交表单完整实例
  • 物理引擎演示
  • unity操作教程
  • javascript高级编程
  • javascript如何学
  • java script教程
  • 西安房屋契税退税政策2020年
  • 机动车发票怎样开
  • 广告费加计扣除标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设