• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > 浅析Python中MySQLdb的事务处理功能

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

作者:daisy 字体:[增加 减小] 来源:互联网

daisy 通过本文主要向大家介绍了python安装mysqldb,python3 mysqldb,python mysqldb使用,mysqldb python2.7,python3 mysqldb安装等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

前言

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

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

conn = MySQLdb.connect()返回一个连接对象

cursor = conn.cursor()返回一个游标对象
</div>

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

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

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

conn.rollback()
</div>

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

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

try:
cursor = conn.cursor()
cursor.execute(insertSQL1)
cursor.execute(insertSQL2)
cursor.close()
conn.commit()
except Exception, e:
cursor.close()
conn.rollback()
</div>

总结

这就可以达到我们的目的了。其实更优雅的方法是,对事务处理进行一个封装,将处理过程写在自己的类的方法中,并接受1个SQL语句序列(可能包含1条或多条SQL语句)作为参数,返回事务执行状态即可。以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助。

</div>

您可能想查找下面的文章:

  • 让python 3支持mysqldb的解决方法
  • 浅析Python中MySQLdb的事务处理功能
  • Python中MySQLdb和torndb模块对MySQL的断连问题处理
  • Python使用MYSQLDB实现从数据库中导出XML文件的方法
  • python MySQLdb Windows下安装教程及问题解决方法
  • Python MySQLdb Linux下安装笔记
  • Python MySQLdb模块连接操作mysql数据库实例
  • Python MySQLdb模块连接操作mysql数据库实例
  • python中MySQLdb模块用法实例
  • Python中MYSQLdb出现乱码的解决方法

相关文章

  • 在Windows系统上搭建Nginx+Python+MySQL环境的教程
  • python下函数参数的传递(参数带星号的说明)
  • python自定义解析简单xml格式文件的方法
  • Python的一些用法分享
  • 分享15个最受欢迎的Python开源框架
  • Python使用BeautifulSoup库解析HTML基本使用教程
  • 使用Python实现下载网易云音乐的高清MV
  • 整理Python最基本的操作字典的方法
  • 举例讲解Python程序与系统shell交互的方式
  • Python线程指南详细介绍

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python3里的super()和__class__使用介绍
    • Python中使用Flask、MongoDB搭建简易图片服务器
    • TensorFlow实现打印每一层的输出
    • 浅谈python socket函数中,send与sendall的区别与使用方法
    • 利用Python开发微信支付的注意事项
    • Python os模块学习笔记
    • Python进行数据提取的方法总结
    • Python中的魔法方法深入理解
    • 详解python3百度指数抓取实例
    • python 截取 取出一部分的字符串方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有