ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

数据库的事务

2021-02-01 10:01:35  阅读:152  来源: 互联网

标签:事务 rollback 隔离 幻读 数据库 emp 一致性


–事务:表示操作集合,要么全部成功,要么全部失败
–事务的开始取决于一个DML语句

事务的结束:
         1、正常的commit(使数据修改生效)和rollback(将数据恢复到上一个状态)
         2、自动提交,但是一般情况下要将自动提交关闭,因为效率太低
         3、用户关闭会话之后会自动提交事务
         4、系统崩溃或者断电的时候会回滚事务,也就是将数据恢复到上一个状态

insert into emp(empno,ename) values(0000,'zhangsan');
commit;
rollback;
select * from emp;

–savepoint 保存点
–当一个操作集合中包含多条SQL语句,但指向让其中某部分成功,某部分失败,此时可以使用保存点
–如果需要回滚到某一个状态的话需要使用rollback to sp1;

delete from emp where empno = 1111;
delete from emp where empno = 1120;
savepoint sp1;
delete from emp where empno = 9;
rollback to sp1;
commit;

事务的四个特性ACID:
         1、原子性:表示不可分割,一个操作集合要么全部成功要么全部失败,不可以从中间做切分
         2、一致性:最终时为了保证数据的一致性,当经过N多个操作以后,数据的状态不会改变(转账),也就是从一个一致性状态到另一个一致性状态,也就是数据不可以发生错乱
         3、 隔离性:各个事务之间相互不会产生影响,隔离性有隔离级别
         严格的隔离性会导致效率降低,在某些情况下为了提高程序的执行效率,需要降低隔离的级别
          隔离级别:从上到下隔离级别越来越高,意味着数据越来越安全
                  读未提交         脏读、不可重复读、幻读
                  读已提交         不可重复读、幻读
                  可重复读         幻读
                  序列化
数据不一致的问题:
         脏读
         不可重复读
         幻读
         4、持久性:所有数据的修改都必须要持久化到存储介质中,不会因为应用程序的关闭而导致数据丢失
一致性是最终的追求,事务中的一致性是通过原子性、隔离性、持久性来保证的

一致性是最终的追求,事务中的一致性是通过原子性、隔离性、持久性来保证的

标签:事务,rollback,隔离,幻读,数据库,emp,一致性
来源: https://blog.csdn.net/Bonjour_h/article/details/113497054

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有