zoukankan      html  css  js  c++  java
  • 5、数据库事务

    1、什么是事务?

    2、事务的四大特性

    3、事务的三种运行模式

    4、事务的保存点

    5、事务的隔离机制

    1、什么是事务?

    1、事务的概念

    事务(Transaction),顾名思义就是要做的或所做的事情,数据库事务指的则是作为单个逻辑工作单元执行的一系列操作(SQL语句)。这些操作要么全部执行,要么全部不执行。

    2、为什么需要事务

    1、为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。

    2、当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。

    2、事务的四大特性

    1、原子性

    事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。

    2、一致性

    事务应确保数据库的状态从一个一致状态转变为另一个一致状态,例如转账行为中,一个人减了50元,另外一个人就应该加上这50元,而不能是40元。

    其他一致状态的含义是数据库中的数据应满足完整性约束,例如字段约束不能为负数,事务执行完毕后的该字段也同样不是负数

    3、隔离性

    多个事务并发执行时,一个事务的执行不应影响其他事务的执行。

    4、持久性

    一个事务一旦提交,他对数据库的修改应该永久保存在数据库中。

    3、事务的三种运行模式

    1. 自动提交事务(隐式开启、隐式提交)

    2. 显式事务(显式开启、显式提交)

    3. 显式事务(显式开启、显式提交)

    # 手动开启的事务里默认不会自动提交,所以我们可以将要执行的sql语句放在我们自己手动开启的事务里
    start transaction;
    
    update test.t1 set id=33 where name = "jack";
    
    commit;
    
    # 注意
    这种方式在当你使用commit或者rollback后,事务就结束了
    再次进入事务状态需要再次start transaction
    
    

    4、事务的保存点

    savepoint和虚拟机中的快照类似,用于事务中,没设置一个savepoint就是一个保存点

    当事务结束时会自动删除定义的所有保存点,在事务没有结束前可以回退到任意保存点

    1、设置保存点savepoint 保存点名字
    2、回滚到某个保存点,该保存点之后的操作无效,rollback 某个保存点名
    3、取消全部事务,删除所有保存点rollback
    
    # 注意:rollback和commit都会结束掉事务,这之后无法再回退到某个保存点
    

    5、事务的隔离机制/font>

    1、概念

    事务具有原子性、一致性、隔离性、持久性四大特性,而隔离性顾名思义指的就是事务彼此之间隔离开,

    多个事务在同时处理一个数据时彼此之间互相不影响,如如果隔离的不够好就有可能会产生脏读、不可重复度、幻读等读现象

  • 相关阅读:
    3、字节流输入输出实现文件的copy
    2、io的读出数据到文件中的内容(文件字节输出流)
    1、io的读取文件中的内容(文件字节输入流)
    10 linux中运行jar
    Linux 部署 iSCSI 客户端配置(Linux)
    Linux 部署 iSCSI 服务端
    Linux上使用iSCSI概述
    SSH实现免密登陆
    源码安装Python3
    Windows(受控主机)上配置
  • 原文地址:https://www.cnblogs.com/liuyang521/p/14481758.html
Copyright © 2011-2022 走看看