事务简述

事务的介绍

事务就是用户定义的一系列执行SQL语句的操作,这些操作要么完全的执行,要么完全的不执行,他是一个不可分割的工作执行单元.

事务的使用场景

在日常生活中,如果我们需要银行转账,银行转账操作背后就是需要执行多个SQL语句,加入这些SQL语句执行到一半突然停电,那么就会导致这个功能只完成一半,这种情况不允许出现,要想解决这个问题就需要事务来完成.

事务的四大特性

1.原子性
2.一致性
3.隔离性
4.持久性
原子性:一个事务必须被视为一个不可分割的最小工作单位,整个事务的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不能只执行其中一部分这就是事务原子性.
一致性:数据库总是从一个一致性的状态转换到另一个一致性的状态.
隔离性:一个事务所作的操作在提交事务之前,对于其他事务来说是不可见的
持久性:一旦事务提交,其所作的修改就会永久保存到数据库

事务的使用

在使用事务之前,要确保表的保存引擎是INNODB类型,只有这个类型才能使用事务,mySQL数据库默认保存引擎是.
表的引擎说明:
就是提供存储数据一种机制.

事务的执行

开启事务:begin;
开启事务后执行修改命令,变更数据会保存到mysql服务端的缓存文件中,而不维护到物理表中
mysql数据库默认采用自动提交的模式,如果没有显示开启事务那么每条sql语句都会被当作一个事务执行提交的操作.
提交事务:commit;
将本地缓存文件中的数据提交到物理表中,完成数据的更新.
回滚事务:rollback;
放弃本地缓存文件中的缓存数据,表示回到开始事务前的状态.
注:pymysql 里面 conn.commit()是提交事务,conn.rollback()是回滚事务.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值