一.定义事务Transaction是把一组 SQL 操作当作一个逻辑单元来执行要么全部成功要么全部失败回滚以此保证数据的一致性和完整性。二.事务的四大特性ACID原子性Atomicity事务内的操作要么全部完成要么一个都不做。出错了就回滚到事务开始前的状态。一致性Consistency事务执行前后数据库都处于合法的状态约束、触发器等不被破坏。隔离性Isolation多个事务并发执行时互不干扰彼此看不见中间状态。持久性Durability事务提交后数据的修改就是永久的即使系统崩溃也不会丢失。三.事务操作3.1 开启事务方法一START TRANSACTION;方法二BEGIN;3.2 执行操作正常提交COMMIT;3.3 执行操作出问题回滚ROLLBACK;3.4 查看当前事务是否开启SELECT autocommit;3.5 提交1为自动0为手动SET autocommit 0;四.并发事务问题脏读读到其他事务未提交的修改数据。不可重复读同一事务内两次查询结果不一致其他事务已提交修改。幻读同一事务内查询到的记录条数变了其他事务新增 / 删除。五.隔离级别由低到高隔离级别脏读不可重复读幻读READ UNCOMMITTED可能可能可能READ COMMITTED不会可能可能REPEATABLE READ默认不会不会可能SERIALIZABLE不会不会不会事务隔离级别越高数据越安全但是性能越低。查看事务隔离级别SELECT TRANSACTION_ISOLATION;设置事务隔离级别SET [SESSION | GLOBAL] TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE }SESSION只对当前连接生效推荐安全GLOBAL对所有新连接生效需要权限谨慎使用