事务

①定义:

一个或者一组SQL语句(每个SQL语句相互依赖)组成一个执行单元,执行单元要么全部执行,要么全部不执行。

如果单元中某条SQL语句一旦执行失败或产生错误,整个单元将会回滚。所有受到影响的数据将返回到事物开始以前的状态;

如果单元中的所有SQL语句均执行成功,则事物被顺利执行。

②事务的四大特性:ACID

原子性:

事务包含的所有操作要么全部成功,要么全部失败回滚。

一致性:

事务必须使数据库从一个一致性状态变换到另一个一致性状态

以转账事务来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这就是事务的一致性。

隔离性:

当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离,不受其他事务的干扰。

持久性:

一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的

③创建事务

隐式事务:insert、update、delete(自动提交)

显式事务:

步骤一

set autocommit = 0;(自动提交功能关闭,只针对当前事务有效)

start transaction(可省略)

步骤二

事务中的SQL语句(select、insert、update、delete增删改查)

步骤三(结束事务)

commit    提交事务

rollback   回滚事务(保存到内存,没有保存到磁盘文件)

    原文作者:你好旧时光912
    原文地址: https://www.jianshu.com/p/9925008553b1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞