MySQL中事务控制对的示例分析

  介绍

这篇文章主要介绍MySQL中事务控制对的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

<强>什么是事务控制

事务是指作为一个逻辑工作单元执行的一系列操作,这些操作<强>要么全部成功,<强>要么全部失败强。事务确保了多个数据的修改作为一个单元来处理。

<李>

在MySQL中,只有使用了 Innodb 存储引擎的数据库或表才支持事物

<李>

事务用于维护数据库的完整性,保证成批的sql语句要么都执行,要么都不执行

<李>

事务用于管理<强>插入,<强>更新和<强>删除强语句

假如,张三在ATM机上给李四转账100元,在银行的业务系统中,主要会执行两步数据变更操作:

<李>

从张三的账户减去100元

<李>

给李四的账户增加100元

试问,如果操作1执行成功,操作2执行失败会发生什么?

<强>事务的四个特性

如果某个数据库支持事务,那么该数据库必须具备<强>酸四个特性,即原子性(原子性),一致性(一致性),隔离(隔离性)、耐久性(持久性)。

<李>

原子性:事务必须是原子工作单元,事务中包含的各操作要么都做,要么都不做

<李>

一致性:事务在执行完成时,必须使所有的数据都保持一致状态

<李>

隔离性:事务独立运行。多个事务之间相互隔离,互不干扰。事务的100%隔离,会牺牲速度

<李>

持续性:事务执行完成之后,它对系统的影响是永久性的

<强> MySQL的事务控制

在<强>默认情况强下,MySQL是<>强自动提交事务的,即每一条插入、更新、删除的sql语句提交后会立即执行提交操作,因此,要开启一个事务,可以使用<强>开始事务或<强> 开始,或者将<强>自动提交的值设置为<强> 0

<李>

方法一: MySQL中事务控制对的示例分析

<李>

方法二: MySQL中事务控制对的示例分析

<>强例子

<李>

登陆数据库,使用学生数据库并查看所有的数据表

USE 学生;SHOW 餐桌;

 MySQL中事务控制对的示例分析“> <br/> 2。创建bank_account数据表并插入两条记录,设置张三字的平衡段值+ 1000 </p> <pre类= CREATE  TABLE  bank_account (   id  INT  NOT  NULL  AUTO_INCREMENT  PRIMARY 键,   name  VARCHAR (30), COMMENT  & # 39;姓名& # 39;,   balance 小数(18日,2),COMMENT  & # 39;账户余额& # 39;);INSERT  INTO  bank_account (id,名称,平衡),价值(1,& # 39;张三& # 39;,,0);INSERT  INTO  bank_account (id,名称,平衡),价值(2,& # 39;李四& # 39;,,0);UPDATE  bank_account  SET  balance =, balance  +, 1000, WHERE  id =, 1;

 MySQL中事务控制对的示例分析“> <br/> 3。查看默认的autocommit值</p> <pre类= SELECT  @@autocommit;

 MySQL中事务控制对的示例分析“> <br/> 4。查看bank_account数据表所有记录</p> <pre类= SELECT  *,得到bank_account;

 MySQL中事务控制对的示例分析“> <br/> 5。开始事务控制并执行两条SQL语句</p> <pre类= START 事务;UPDATE  bank_account  SET  balance =, balance 作用;100年,WHERE  id =, 1; UPDATE  bank_account  SET  balance =, balance  +, 100, WHERE  id =, 2,提交;

 MySQL中事务控制对的示例分析“> <br/> 6。查看此时数据表的内容</p> <pre类= SELECT  *,得到bank_account;

 MySQL中事务控制对的示例分析“> <h2 class=MySQL中事务控制对的示例分析