一般来讲,MySQL事务主要用于处理操作量大,复杂度高的数据。本文将为大家梳理一下事务的相关学习笔记,内容包括了事务的应用场景说明,手动提交事务和自动提交事务。感兴趣的小伙伴,赶紧一起来看看MySQL学习笔记中关于事务的知识点梳理吧!
玉门网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。创新互联建站公司2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
1、事务的应用场景说明
(1)事务的定义
在实际的开发过程中,一个业务操作如:转账,往往是要多次访问数据库才能完成的。转 账是一个用户扣钱,另一个用户加钱。如果其中有一条 SQL语句出现异常,这条 SQL就可能执行失败。事务执行是一个整体,所有的 SQL语句都必须执行成功。如果其中有 1条 SQL语句出现异常,则所有的 SQL语句都要回滚,整个业务执行失败。
(2)转账的操作
模拟张三给李四转 500元钱,一个转账的业务操作最少要执行下面的 2条语句:
张三账号-500
李四账号+500
假设当张三账号上-500元,服务器崩溃了。李四的账号并没有+500元,数据就出现问题了。我们需要保证其中 一条 SQL语句出现问题,整个转账就算失败。只有两条 SQL都成功了转账才算成功。这个时候就需要用到事务。
2、手动提交事务
MYSQL中可以有两种方式进行事务的操作:
手动提交事务
手动提交事务的SQL语句
开启事务:start transaction;
提交事务:commit;
回滚事务:rollback;
自动提交事务
手动提交事务使用过程:
成功的情况: 开启事务 执行多条 SQL语句 成功提交事务
执行失败的情况: 开启事务 执行多条 SQL语句 事务的回滚
案例演示1:事务提交 模拟张三给李四转 500元钱(成功) 目前数据库数据如下:
(1)使用 DOS控制台进入 MySQL
(2)执行以下 SQL语句: 1.开启事务, 2.张三账号-500, 3.李四账号+500
(3)使用 SQLYog查看数据库:发现数据并没有改变
(4)在控制台执行 commit提交事务:
(5)使用 SQLYog查看数据库:发现数据改变
3、自动提交事务
MySQL默认每一条 DML(增删改)语句都是一个单独的事务,每条语句都会自动开启一个事务,语句执行完毕 自动提交事务,MySQL默认开始自动提交事务
(1)演示:自动提交事务
将金额重置为 1000
更新其中某一个账户
使用 SQLYog查看数据库:发现数据已经改变
(2)取消自动提交
查看 MySQL是否开启自动提交事务
取消自动提交事务
执行更新语句,使用 SQLYog查看数据库,发现数据并没有改变
在控制台执行 commit提交任务
以上就是MySQL学习梳理笔记之事务讲解的全部内容了,大家都理解了吗?如果对这部分知识点,还有疑问的朋友,可以上创新互联官网进行相关在线课程的学习。