目标:
    1:掌握事物的使用场景
    2:掌握事物的四大特性(ACID)

    一:事物的使用场景

    答:假设控制数据库查询某些数据需要好几条SQL语句,而且这几条语句要么全都执行成功,要么全都执行失败,我们就可以把这几条SQL语句加到事物当中!比如说去银行给别人汇钱操作,分为 查询余额、你给别人汇款操作、别人收款操作,要么这几个步骤全部执行成功,要么这几个步骤全部执行失败!

    简而言之,数据库的事务,就是当执行某操作,其中一个步骤失败,就回到未执行前的状态!要么事务所有步骤全部执行成功,要么全部失败!

    事务功能:保证某个操作要么一定成功执行,要么一定失败执行

    二:事务的四大特性(ACID)

    1.原子性:一个事物必须被视为不可分割的最小单元,也就是事务内的所有步骤都是不可分割,要么所有步骤全部成功执行,要么全都失败回滚

    2.一致性:数据库总是从一个状态转换到另外一个状态,汇钱例子,我向你打款500元,我余额减少500,你的余额必须增加500

    3.隔离性:一个事务所做的修改在最终提交以前,对外是不可见的,例如汇款,我的余额600,正在向你汇款500,汇款的过程未结束时,别人是不可在用你卡向别人汇款的,因为他看到你的余额还是600元

    4.持久性:一旦事务提交,则其所做的修改将永久保存到数据库

    图示

    image.png