本文由成都正厚沈瑜老师供稿
1、事务控制概念
在MySQL中用于处理操作量大、复杂度高的数据。比如在人员管理系统中,删除一个人员,既需要删除人员的基本信息,也需要删除和该人员相关的信息,如信箱、文章、发起的事务等等,这些数据的操作语句就构成了一个事务。
当然只有使用了Innodb数据引擎的数据库或表才支持事务,在使用过程中药保证成批的SQL语句要么全部执行,要么全部执行,这样的事务处理可以维护数据库数据的完整性。一般在事务中会出现insert、update、delete、select语句。
2、事务控制特性
原子性:一个事务中的所有操作要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。
一致性:在事务开始之前和事务结束之后,数据库的完整性没有被破坏。这表示写入额资料必须完全符合所有的预设规则,包含资料的精确度、串联性以及后续数据库可以自发性地完成预定工作。
隔离性:数据库允许多个并发事务同时对其数据进行读写和修改能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务的隔离又分为不同级别,包括读未提交、读提交、可重复读和串行化。
持久性:事务处理结束后,对数据的修改应该是永久的即便系统故障也不会丢失。
3、事务控制相关命令
(1)Begin开始事务;
(2)Rollback回滚事务;
(3)Commit提交事务;
(4)Setauto