》了解事务

数据库的操作,比如银行转帐

一方扣款,一方收款

两个操作要么同时完成,要么同时不完成

这就是事务

》通过例子了解

创建一个数据库

插入数据

新建了两个用户,让他们有资金

开始事务

》事务

操作时开两个mysql客户端,一个操作事务,一个实时查询

观注一下是否有变化

开始事务的操作

start transaction

如果发生了错误,可以回滚

rollback

金额回到了从前

再完整的再操作一次

先从一个人扣钱

再从另一个人帐户上加钱

提交事务

commit

》通过python来处理事务

代码分析

本代码中模拟了几个sql语句的操作

明确这样几个点

游标对象.execute(sql语句)

只是准备执行,语句并未真正的生效

只有数据库的连接对象 commit()了以后

才真的生效了

代码中通过raise Exception模拟了一个错误

在错误发生后,进处异常处理代码块

通过回滚,让操作回到最近一次commit的地方

防止多余的操作

详情先分析代码再做小结

》小结

pymysql的操作都是基于事务的

sql语句执行后一定要commit才会真真景响到数据库

让数据库的连接对象commit

如果发生错误,可以通过连接对象的rollback()返回

》继续关于mysql的事务

先创建表和插入数据

然后rollback

问题? 这三条数据是否有插入成功到数据库中

答案:

有插入。原因需要明确

开启事务

插入数据


提交,让数据真正的存进去

开始存档操作,savepoint保留点

  • 同时开启一个横向的时间图,把数据和存档点记录一下

》读取存档,回到存档点

回到保留点,存档1的位置

mysql事务-与pymyql的事务相关推荐

  1. mysql 事务隔离规范_MySQL事务隔离级别以及脏读、幻读、不可重复读示例

    事务的隔离性 MySQL是一个客户端/服务器架构的软件,对于同一个服务器来说,可以有若干个客户端与之连接,每个客户端与服务器连接上之后,就可以称之为一个会话(Session).每个客户端都可以在自己的 ...

  2. mysql 查看当前事务id,MySQL 如何查询当前最新事务ID

    写在前面:在个别时候可能需要查看当前最新的事务 ID,以便做一些业务逻辑上的判断(例如利用事务 ID 变化以及前后时差,统计每次事务的响应时长等用途). 通常地,我们有两种方法可以查看当前的事务 ID ...

  3. (MYSQL学习笔记4)事务的开启、提交、回滚

    使用事务要注意以下三点: 1.在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务. 2.事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执 ...

  4. Spring事务管理--(一)数据库事务隔离级别与mysql引擎基础讲解

    一.前言 本篇文章来自网络整理,很简单,但是很实用对于初级和中级工程师. 原创地址1:http://www.cnblogs.com/hollen/archive/2012/05/13/2498309. ...

  5. mysql 不同连接的事务 会嵌套_MySQL——事务

    事务(Transaction)是数据库区别于文件系统的重要特性之一,事务会把数据库从一种一致状态转换为另一种一致状态. 关键词 事务四大特性ACID MySql事务隔离级别 MVCC多版本并发控制 实 ...

  6. mysql怎么测试事物_mysql事务简单测试

    Auth: jin Date: 20140507 一.事务控制 默认情况下,MySQL是自动提交(autocommit)的,如果需要通过明确的commit和rollblack来提交和回滚事务,那么需要 ...

  7. mysql事务并发控制_MySQL之事务及并发控制

    本节索引: 一.事务Transaction 二.事务的隔离级别 三.并发控制 四.MVCC-多版本的并发控制协议 一.事务 什么是事务? 事务Transactions:一组原子性的SQL语句,或一个独 ...

  8. mySQL教程 第10章 事务和锁

    第10章 事务和锁 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作. 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据 ...

  9. mysql 业务账户_mysql的事务

    一.事务定义 Transaction 事务:一个最小的不可再分的工作单元:通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务就是一个最小的工作单元) 一个完整的业务需要批量的DML(inse ...

最新文章

  1. linux标准daemon编写方式
  2. Windows XP中的用户分为3类。
  3. 计算机二级c语言可以提前交卷吗,软考考试中可以提前交卷吗?计算机软考成绩一般多久公布...
  4. Windbg调试命令详解(3)
  5. Java黑皮书课后题第7章:7.2(倒置输入的数)编写程序,读取10个整数,然后按照和读入顺序相反的顺序将它们显示出来
  6. [网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster原理详解
  7. Hadoop2.6.0的Intellij Idea 插件
  8. 输入框值不能赋值成功
  9. algorithm negotiation fail错误
  10. 诺贝尔奖得主纳什夫妇因车祸去世
  11. 2003服务器安全攻略
  12. 初学Linux时用到的一点复制,粘贴,删除,创建指令
  13. Android aab打包报错(持续更新中~),android插件开发过时
  14. Hive实现数据文件导入与分析
  15. 干货技巧:10个冲压工艺及模架设计知识点
  16. 进阶篇:3.5)粉末冶金件设计
  17. Codefoeces 581B Luxurious Houses
  18. 深度长文:AMD的崛起、衰落与复兴
  19. 计算机桌面颜色异常怎样修复,电脑显示器变色怎么办?显示器颜色异常的原因及解决方法...
  20. Python——图像处理(crop()函数、thumbnail方法)

热门文章

  1. element-ui 搜索框组件:监听input键盘事件 - 代码篇
  2. 开源SUP对接API卡盟程序卡信乐v2.0源码
  3. python timeout_decorator_使用timeout-decorator为python函数任务设置超时时间
  4. python24点4张扑克_Python实现扑克24点小游戏 ,从此我就没输过
  5. 我的世界linux服务器乱码,我的世界服务器控制台使用上箭头乱码解决办法
  6. 企业3级推广报单分销源码下载会员注册管理系统
  7. 小象电商是采用JAVA开发的B2B2C多用户商城系统。
  8. WEB产品展示Bootstrap4模板
  9. Python: 50个能够满足所有需要的模块
  10. MS Script Control的 COM