事务是指作为单个逻辑工作单元执行的一组相关操作。这些操作要求全部完成 或者全部不完成。使用事务是为了保证数据的安全有效。

事务有一下四个特点:(ACID)

1、原子性(Atomic):事务中所有数据的修改,要么全部执行,要么全部不执行。

2、一致性(Consistence):事务完成时,要使所有所有的数据都保持一致的状态, 换言之:通过事务进行的所有数据修改,必须在所有相关的表中得到反映。

3、隔离性(Isolation):事务应该在另一个事务对数据的修改前或者修改后进行访问。

4、持久性(Durability):保证事务对数据库的修改是持久有效的,即使发生系统故障, 也不应该丢失。

当事务之间发生并发时有几个隔离级别。

 Oracle 默认的隔离级别是 read committed。

丢失更新:两个事务同时存储, 一个存储 100 , 一个存储 200,最终可能至存储了 200 或者 100,那另一个的更新就没成功,即结果不为预想的 300

脏读:事务 T1 更新了一行数据,还没有提交所做的修改,T2 读取更新后的数据,T1 回滚,T2 读取的数据无效,这种数据称为脏读数据。

不可重复读:事务 T1 读取一行数据,T2 修改了 T1 刚刚读取的记录,T1 再次查询, 发现与第一次读取的记录不相同,称为不可重复读。

幻读:事务 T1 读取一条带 WHERE 条件的语句,返回结果集,T2 插入一条新纪录, 恰好也是 T1 的 WHERE 条件,T1 再次查询,结果集中又看到 T2 的记录,新纪录就叫 做幻读。

事务的开启:自动开启于 DML 之 insert delete update

事务的结束:

1) 成功

2) 失败 rollback ,手动回滚

非法退出 意外的断电l

rollback 只能对未提交的数据撤销,已经 Commit 的数据是无法撤销的,因为 commit 之后已经持久化到数据库中。

添加数据 可以手写也可以从别的表中获取的);àinsert into 表名 values(和表结构顺序和个数和类型一致的数据 insert into 表名(指定列名) values(和指定的列个数、顺序、类型一致的列数据)

update 表名 set 字段=值 [,....] where 过滤行记录;

delete [from] 表名 where 过滤行记录

转自尚学堂学员的Java面试准备笔记--陆同学,上海尚学堂Java培训24期学员,已经入职上海企业,月薪11K起步。

转载于:https://www.cnblogs.com/shsxt/p/10690050.html

事务是什么?事务的4个特点(ACID),事务的开启与结束相关推荐

  1. Data Artisans发布支持ACID事务的流式处理框架Streaming Ledger

    data Artisans宣布推出Streaming Ledger,它扩展了Apache Flink,提供了跨表.键和事件流执行可序列化ACID事务的功能.这项正在申请专利的技术是Flink的专有附加 ...

  2. springboot 事务手动回滚_来,讲讲Spring事务有哪些坑?

    来自公众号:孤独烟 引言 今天,我们接上文<面试官:谈谈你对mysql事务的认识>的内容,来讲spring中和事务有关的考题! 因为事务这块,面试的出现几率很高.而大家工作中CRUD的比较 ...

  3. 多个mapper的事务回滚_揭秘蚂蚁金服分布式事务 Seata 的AT、Saga和TCC模式

    作者| 屹远(陈龙),蚂蚁金服分布式事务核心研发 . 导语 本文根据 8月11日 SOFA Meetup#3 广州站 <分布式事务 Seata 及其三种模式详解>主题分享整理,着重分享分布 ...

  4. java 封装事务_Spring之路(36)–事务很重要吗?Spring为何要封装事务?Spring事务有陷阱吗?...

    可以不使用事务吗 真的遇到过开发企业应用,但是不知道啥是事务的朋友. 好吧,我始终认为抛开性能.界面.易用性等方面不说,正确性应该是一个项目最基础的要求了. 所以,凡是企业应用,正儿八经有客户的系统, ...

  5. springboot事务回滚源码_Spring Boot中的事务是如何实现的

    1. 概述 一直在用SpringBoot中的@Transactional来做事务管理,但是很少想过SpringBoot是如何实现事务管理的,今天从源码入手,看看@Transactional是如何实现事 ...

  6. STM 软件事务内存——本质是为提高并发,通过事务来管理内存的读写访问以避免锁的使用...

    对Java程序员来说,我们对面向对象的编程(OOP)自然都是烂熟于胸的,但语言也极大地影响了我们构建面向对象应用程序的方式.(现在的OOP已经和Alan Kay当初创造这个词时候的初衷大不相同了,他的 ...

  7. 怎么实现事务_你可能知道事务的四大特性,但是不一定知道“事务的实现原理”...

    说到数据库,那就一定会聊到事务,事务也是面试中常问的问题,我们先来一个面试场景: 面试官:"事务的四大特性是什么?"我:"ACID,即原子性(Atomicity).隔离性 ...

  8. [数据库事务与锁]详解一: 彻底理解数据库事务

    注明: 本文转载自http://www.hollischuang.com/archives/898 事务 事务(Transaction),一般是指要做的或所做的事情.在计算机术语中是指访问并可能更新数 ...

  9. Spring事务专题(四)Spring中事务的使用、抽象机制及模拟Spring事务实现

    前言 本专题大纲如下: 事务专题大纲 「对于专题大纲我又做了调整哈,主要是希望专题的内容能够更丰富,更加详细」,本来是想在源码分析的文章中附带讲一讲事务使用中的问题,这两天想了想还是单独写一篇并作为事 ...

  10. 多数据源 事务管理_可能是最漂亮的Spring事务管理详解

    事务概念回顾 什么是事务? 事务是逻辑上的一组操作,要么都执行,要么都不执行. 事物的特性(ACID): 原子性: 事务是最小的执行单位,不允许分割.事务的原子性确保动作要么全部完成,要么完全不起作用 ...

最新文章

  1. 模拟窗口效果 Jquery
  2. 太原工业学院单片机课程设计_我系举办2014年单片机应用技能竞赛开幕式
  3. mfc编程vc6.0实现进程的创建和通信_免费送书:windows黑客编程技术详解
  4. 关于流(文件)的输入,输出与调用(fprintf,fscanf)
  5. Dephi 的接口与回调 :ZT
  6. 微服务升级_SpringCloud Alibaba工作笔记0002---理解反应式编程中的背压(Backpressure)机_流的逆向压力
  7. Unity3D引擎工作笔记0002---Unity3D 5下载安装
  8. 创建对象时引用的关键字,assign,copy,retain
  9. Centos6.5 安装 Mysql-5.6.41
  10. Atitit node.js问题解决总结t99 目录 1.1. 找不到node程序 1 1.2. GBK编码问题 1 2. 按行读取gbk编码问题 2 2.1. 先写入txt utf8 encode
  11. 移动端调试工具-Debuggap
  12. ENVI/IDL编程:相对辐射校正-直方图匹配
  13. 省级期刊发表价格具体分析
  14. Symbol数据类型
  15. mysql 自己的ip怎么查看_如何查看连接mysql的ip地址
  16. 如果世界上的男人们都在数据库中……
  17. 电话号码归属地批量查询软件选择需谨慎
  18. U-BOOT启动流程详细分析[转]
  19. TP3.2.3到TP5的变化
  20. 简单使用SAXReader解析xml数据

热门文章

  1. 在定时器中返回给视图的值_JavaScript二进制数组(2)TypedArray视图
  2. html计算一个数组所有元素的和,函数bsxfun,两个数组间元素逐个计算的二值操作...
  3. build openni with gcc 7
  4. fields and vector spaces
  5. SoyNet:大豆叶部病害分类(研究思路清晰)
  6. e7用什么主板_主板当中的纽扣电池有什么用?电池没电了会怎样?
  7. linux怎么查看服务器主频,Linux环境下查看服务器硬件信息
  8. springboot文件上传和下载工具_SpringBoot图文教程7—SpringBoot拦截器的使用姿势这都有...
  9. 机器学习项目完整案例:预测区域的房价中位数
  10. python 内存溢出_python之记录一次内存溢出