什么是事务?为什么需要事务?
一、什么是事务?
事务是指单个逻辑工作单元执行得一系列操作,要么都做,要么都不做,是不可分割的工作单位,是数据库环境中的的最小工作单元。
二、为什么需要事务?
事务包含了一组操作,这些操作可以是一条SQL语句、一组SQL语句或整个程序。如果其中一个操作不成功,这些操作都不会执行,前面执行的操作也会回滚原状态,用来保证数据的一致性和完整性。例如,就像银行转账,张三给李四转账,只有当张三的钱转走了,并且李四账户的钱收到了之后才会事务提交,否则事务会回滚到转账前的状态,保证数据的一致性,保证数据不会出错。
三、事务的四大特征:
1、原子性
整个事务要么成功提交要么全部失败回滚。
2、隔离性
一个事务在完成前对其他事务是不可见的,一个事务执行前就代表上一个事务一定结束了。
3、一致性
事务操作前后,数据表中的数据是不会发生变化的,直到成功提交前。
4、持久性
一旦事务提交则会永久保存在数据库当中。
四、事务类型
1、显示事务
需要我们手动的提交或回滚;
DML语言所有的操作都是显示事务;
2、隐式事务
数据库自动提交不需要我们做任何处理,同时也不具备回滚性;
DDL、DCL语言都是隐式事务操作;
参考文献:https://zhuanlan.zhihu.com/p/59402344