位置: 编程技术 - 正文

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

  • 计入存货成本的税费
  • 贴现率和折现率一样吗
  • 股权转让如何避免印花税
  • 退休工资要缴纳税吗
  • 商业银行委托贷款期限
  • 贷款利息进项税额
  • 主营业务收入包括哪些内容
  • 建筑物加高违法么
  • 减免的增值税如何账务处理
  • 期末未缴税额为什么会有数据
  • 银行贷款利息可以减免吗
  • 行政单位租个人房子能用收据下账吗
  • 两年前的发票能开红字发票吗
  • 三证合一后纳税人识别号和信用代码一样吗
  • 用友软件报表公式
  • 税收滞纳金可以税前扣除吗
  • 专票开票信息不填省份可以吗
  • window10锁屏壁纸图片在哪
  • 仲裁规则主要包括
  • linux环境什么意思
  • 纳税确有困难标准
  • 桌面右键个性化没有关联的程序
  • php 字符串函数
  • 在php中,字符串有哪些表示形式
  • win10平板模式怎么显示桌面
  • php和mysql web开发怎么样
  • 累积未分配利润为负可以分红吗
  • 收到政府的补助交所得税么
  • win10系统安装配置
  • php文件用什么运行
  • php冒泡法排序
  • php动态语言
  • php添加背景怎么实现
  • 推荐几个比较好用的
  • 什么是预付账款的管理重点
  • 为什么增值税发票不能折叠?
  • docker安装redis设置密码无效
  • 织梦如何给栏目增加缩略图
  • 免税农产品范围目录的文件
  • 一般纳税人购销合同印花税怎么算
  • 增值税减免税申报表
  • 一般纳税人增值税申报操作流程
  • 有限责任公司减资的条件
  • 广告公司奖金激励分配方案
  • 工人发生工伤的责任划分
  • 其他应收款与其他应付款对冲分录
  • 合同分三次付款怎么写
  • 办公室装修费用怎么入账
  • 库存现金的主要活动
  • 个人开具发票需要税号吗?
  • 应交的教育费附加通过什么科目核算
  • 收购免税农产品的进项税率
  • 没有发票的费用支出怎么入账
  • 销售方开具的红字专票怎么入账
  • 银行贷款给个人用于经营属于消费贷款
  • 代理记账企业如何通过互联网创新发展
  • windows自带截图保存在哪里
  • win7系统管理在哪
  • win8系统c盘占用多大
  • windows软件包2012能删吗
  • mac os10.11
  • linux卡屏
  • linux如何kill进程
  • 侠客驱动是什么意思
  • unity用visual
  • ztree getnodebytid
  • css控制文字换行
  • js oncontextmenu事件使用详解
  • 文章标题作用答题模板
  • ntp ntpdate
  • bat批处理命令大全
  • 在javascript中如何定义并调用函数
  • 仿百度首页
  • javascript要怎么学
  • python flask框架 web服务器
  • 企业所得税的改革与完善
  • 税务申报规则
  • 加强党的作风建设是目前全党的中心
  • 资源税是什么?
  • 转租房子转租人需要签合同吗合法吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设