前面咱们介绍过数据库中 带你了解数据库中JOIN的用法 与 带你了解数据库中group by的用法 的相关用法。本章节主要来介绍下数据库中一个很是重要的知识点事务
,也是咱们项目中或面试中常常会遇到的知识点。若有错误还请你们及时指出~ mysql
涉及面试题:git
如下都是采用mysql数据库
事务(Transaction),是咱们关系型数据库中很是重要的一个概念,它要符合ACID特性。是由一组SQL语句组成的一个程序执行单元(Unit),该执行单元要么成功Commit,要么失败Rollback。github
原子性
:指事务是一个不可再分割的工做单元,事务中的操做要么都发生,要么都不发生。
通俗的说:咱们有一堆的事情,它要么全作,要么全都不作,不能只作一半。好比咱们的银行转帐。我把钱转给你,把个人钱扣掉,而后把你的钱加上去。不能只作一半,只把个人钱扣掉,你的钱没有加上去。面试
一致性
指事务开始以前和事务结束之后,数据库的完整性约束没有被破坏。
通俗的说:我和你的钱加起来一共是2000,那么无论我和你之间如何转帐,转几回帐,事务结束后咱们的钱相加起来应该还得是2000,这就是事务的一致性。sql
隔离性
指多个事务并发访问时,事务之间是隔离的,一个事务不该该影响其它事务运行效果。
通俗的说:多个用户并发访问操做同一张表时,数据库为每个用户开启的事务,不能被其余事务的操做所干扰,多个并发事务之间要相互隔离。数据库
数据库定义了4个隔离的级别:编程
下篇文章咱们将专门介绍事务的隔离性
持久性
指事务所对数据库所做的更改便持久的保存在数据库之中,并不会被回滚。
通俗的说:好比我将事务作完以后,这个结果是能持久下去的并能一直存下去。无论断电仍是其余状况。微信
关系型数据库都实现了ACID这样的一些事务特性。其中最关键的一点是Isolation(隔离性),互相不影响。
本章节主要简单介绍了数据库中事务的ADID特性,下一章咱们将详细介绍事务隔离
。
欢迎关注公众号: Coder编程
获取最新原创技术文章和相关免费学习资料,随时随地学习技术知识!
欢迎你们关注并Star~