事务,什么是事务,事务就是由单独单元的一个或多个sql语句组成,在这个单元中,每个sql语句都是相互依赖的。而整个单独单元是作为一个不可分割的整体存在,类似于物理当中的原子(一种不可分割的最小单位)。
通俗来说,事务就是一个整体,里面的内容要么都执行成功,要么都执行失败,不可能存在部分执行成功,部分执行不成功的情况。
事务的四个特性(ACID)面试常考项:
1.原子性(Atomicity):
指事务是一个不可分割的最小工作单位,事务中的操作只有发生和都不发生两种情况。
2.一致性(Consistency):
一致性(Consistency):事务必须使数据库从一个一致状态变换到另外一个一致状态,举一个例子,李四给张三转账100元,其事务就是让李四账户上减去100元,张三账户上加上100元;一致性是指其他事务看到的情况是要么李四还没有给张三转账的状态,要么张三已经成功接收到李四的100元转账。而对于李四少了100元,张三还没加上100元这个中间状态是不可见的。
3.隔离性(Isolation):一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
4.持久性(Durability):一个事务一旦提交成功,它对数据库中数据的改变将是永久性的,接下来的其他操作或故障不应对其有任何影响。