一、事务(Transaction)定义
事务:一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务。
●一个完整的业务需要批量的DML(insert、update、delete)语句共同联合完成。
●在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。
●事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行。
●事务只和DML语句有关,或者说DML语句才有事务。这个和业务逻辑有关,业务逻辑不同,DML语句的个数不同
●MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!
二、事务的四大特征(ACID)
一般来说,事务是必须满足4个条件(ACID):Atomicity(原子性或不可分割性)、Consistency(一致性)、Isolation(隔离性或独立性)、Durability(持久性)
●原子性(Atomicity):一组事务,要么成功;要么撤回,即事务在执行过程中出错会回滚到事务开始前的状态。
●一致性(Consistency) :一个事务不论是开始前还是结束后,数据库的完整性都没有被破坏。因此写入的数据必须完全符合所有预设规则(资料精确度、串联性以及后续数据库能够自发完成预定工作)。
●隔离性(Isolation):数据库允许多个事务并发的同时对其数据进行读写修改等操作,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离可分为:Read uncommitted(读未提交)、Read committed(读提交)、Repeatable read(可重复读)、Serializable(串行化)。
●持久性(Durability):事务在处理结束后对数据做出的修改是永久的,无法丢失
2.1 隔离性(Isolation)的级别
事务A和事务B之间具备隔离性
●隔离性有以下4个隔离级别:

本文详细介绍了MySQL事务的概念,强调了事务的四大特性——原子性、一致性、隔离性和持久性。讨论了不同隔离级别的特点,如脏读、不可重复读和幻读问题,并通过实例展示了如何开始、提交和回滚事务。此外,还涵盖了设置事务隔离级别的语法。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



