数据库的ACID性质

原子性:指整个数据库事务是不可分割的工作单位。只有使据库中所有的操作执行成功,才算整个事务成功;事务中任何一个SQL语句执行失败,那么已经执行成功的SQL语句也必须撤销,数据库状态应该退回到执行事务前的状态。即要么执行,要么不执行.

一致性:指数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。例如银行转账业务,前后都要一致.

持久性:指的是只要事务成功结束,它对数据库所做的更新就必须永久保存下来。即使发生系统崩溃,重新启动数据库系统后,数据库还能恢复到事务成功结束时的状态。

隔离性:指的是在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间。由并发事务所做的修改必须与任何其他并发事务所做的修改隔离。事务查看数据更新时,数据所处的状态要么是另一事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看到中间状态的数据。

事务的(ACID)特性是由关系数据库管理系统(RDBMS,数据库系统)来实现的。数据库管理系统采用日志来保证事务的原子性、一致性和持久性。日志记录了事务对数据库所做的更新,如果某个事务在执行过程中发生错误,就可以根据日志,撤销事务对数据库已做的更新,使数据库退回到执行事务前的初始状态。

  数据库管理系统采用锁机制来实现事务的隔离性。当多个事务同时更新数据库中相同的数据时,只允许持有锁的事务能更新该数据,其他事务必须等待,直到前一个事务释放了锁,其他事务才有机会更新该数据。

  • mysql开启关闭update/delete安全模式

    mysql开启关闭update/delete安全模式 在使用mysql执行update的时候,如果不是用主键当where语句,会报如下错误,使用主键用于where语句中正常。 异常内容:Error Code: 1175. Y...

    mysql开启关闭update/delete安全模式
  • 关于COLLATE=utf8mb4_0900_ai_ci问题

    关于COLLATE=utf8mb4_0900_ai_ci问题 mysql8版本特有的对照,排序之类的,备份数据库时.sql脚本会自动设置COLLATE=utf8mb4_0900_ai_ci,,若将此脚本迁徙到mysql5.6...

    关于COLLATE=utf8mb4_0900_ai_ci问题
  • root@localhost拒绝问题

    mysqlworkbench连接mysql出现root@localhost denied问题,发现原因是登录mysql需要sudo,就是建立建立mysql连接是需要超级权限,所以连接不上去。 解决办法: 登录mysql,然后 use ...

    root@localhost拒绝问题
  • Mysql细节

    Mysql Mysql插入语句之value与values区别: ​ 二者可以混着用,不报错,但是value插入多行数据会快一点.

    Mysql细节
  • 数据库的锁

    数据库的锁 概要数据库锁一般可以分为两类,一个是悲观锁,一个是乐观锁。 乐观锁一般是指用户自己实现的一种锁机制,假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲...

    数据库的锁
  • SQL连接

    sql连接操作 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结...

    SQL连接
  • mysql执行顺序

    mysql执行顺序 (1)from(3) join(2) on(4) where(5)group by(开始使用select中的别名,后面的语句中都可以使用)(6)avg,sum….(7)having(8) select(9) ...

    mysql执行顺序
  • antd输入文本域样式

    a-textarea文本域样式问题 当时开发遇到一个问题,使用antd的a-textarea的时候宽度定义不了,进一步排查发现a-textarea标签antd框架那边已经对这个样式做了约束,所以一般的加style改不了,转而...

    antd输入文本域样式
  • vuex基本使用

    vuex学习 简介​ vuex是专门用来管理vue.js应用程序中状态的一个插件。他的作用是将应用中的所有状态都放在一起,集中式来管理。这里所说的状态指的是vue组件中data里面的属性。 vuex组成结构示意图​ ...

    vuex基本使用
  • vue-axios的get请求个post请求

    vue-axios的get请求个post请求 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中,能够拦截请求和响应,能转换请求与响应数据,能取消请求,自动转换Json格式,浏览器...

    vue-axios的get请求个post请求