邯郸做移动网站价格,网页广告设计师培训学校,如何设置淘宝友情链接,深圳建设工程交易服务网网址青青子衿#xff0c;悠悠我心 纵我不往#xff0c;子宁不嗣音 —— 24.3.9 事务#xff1a; 事务简介 事务操作 事务四大特性 并发事务问题 事务隔离级别 一、事务简介 事务是一组操作的集合#xff0c;它是一个不可分割的工作单位#xff0c;事务会把所有的操作作为一个整… 青青子衿悠悠我心 纵我不往子宁不嗣音 —— 24.3.9 事务 事务简介 事务操作 事务四大特性 并发事务问题 事务隔离级别 一、事务简介 事务是一组操作的集合它是一个不可分割的工作单位事务会把所有的操作作为一个整体一起向系统提交或撤销操作这些操作要么同时成功要么同时失败 案例 银行的存取款问题 MySQL的事务是自动提交的也就是说当执行一条DML语句时MySQL会立即隐式的提交事务 二、事务操作 案例 转账操作张三给李四转账1000元 — 1.查询张三账户余额 select * from account where name 张三; — 2.将张三账户余额-1000 update account set money money - 1000 where name 张三;— 3.将李四账户余额1000 update account set money money 1000 where name 李四; 当23两语句之间存在异常时最终sql语句的结果就会出错 ①修改事务提交方式为手动提交 查看/设置事务提交方式 1自动提交 0手动提交 select autocommit;set autocommit 0; #——设置为手动提交 提交事务 commit;回滚事务 rollback; set autocommit 手动提交 开启事务的提交方式 手动提交 显示的开启事务 start transaction 或 begin; 提交事务 commit;回滚事务 rollback; 三、事务四大特性ACID 原子性事务是不可分割的最小操作单元要么全部成功要么全部失败 一致性事务完成时必须使所有的数据都保持一致状态。 隔离性数据库系统提供的隔离机制保证事务在不受外部并发操作影响的独立环境下运行。 持久性事务一旦提交或回滚它对数据库中的数据的改变就是永久的。 四、并发事务问题 问题 描述 脏读一个事务读取到另一个事务没有提交的数据 不可重复读一个事务先后读取同一条记录但两次读取的数据不同称之为不可重复读 幻读 一个事务按照条件查询数据时没有对应的数据行但是在插入数据时又发现这行数据已经存在好像出现了幻影 五、事务隔离级别 读未提交 读已提交Oracle默认 可重复读MySQL默认 串行化 —— 查看事务隔离级别 select transaction_isolation; —— 设置事务隔离级别 set [session|global] transation isolation level [read uncommitted | read commited | repeatable read | serializable]; 注意事务隔离级别越高数据越安全但是性能越低 总结 1.事务简介 事务是一组操作的集合这组操作要么全部成功执行要么全部执行失败 2.事务操作 start transaction ——开启事务 commit/rollback ——提交/回滚事务 3.事务四大特性 原子性一致性隔离性持久性 4.并发事务问题 脏读、不可重复读、幻读 5.事务隔离级别 读未提交、读已提交Oracle默认、可重复读MySQL默认、串行化