linux学习笔记(36)mysql事务详解
事务详解
事务是数据库管理系统中一组操作的集合,这些操作要么全部成功执行,要么全部回滚(撤销),以此保证数据库数据的完整性和一致性。
1. 事务的ACID特性
- 原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不完成
- 一致性(Consistency):事务执行前后,数据库的完整性约束不被破坏
- 隔离性(Isolation):多个事务并发执行时,互相不干扰
- 持久性(Durability):事务完成后,对数据的修改是永久的
2. 事务操作命令
-- 开始事务BEGIN;
-- 或START TRANSACTION;-- 提交事务(确认执行)COMMIT;-- 回滚事务(取消执行)ROLLBACK;-- 查看事务隔离级别SELECT @@transaction_isolation;-- 设置事务隔离级别SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
3. 事务隔离级别
-- 1. 读未提交(可能读到别人未提交的数据)SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;-- 2. 读已提交(只能读到已提交的数据)SET TRANSACTION ISOLATION LEVEL READ COMMITTED;-- 3. 可重复读(同一事务内多次读取结果一致)SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;-- 4. 串行化(完全隔离,性能最低)SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;