zoukankan      html  css  js  c++  java
  • MySql的事务控制(TCL语言)

    ⒈事务

      一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。

    ⒉事务的特性(ACID)

      1.原子性(Atomicity):一个事务不可再分割,要么都执行要么都不执行。

      2.一致性(Consistency):一个事务执行会使数据从一个一致状态切换到另外一个一致状态。

      3.隔离性(Isolation):一个事务的执行不受其它事务的干扰。

      4.持久性(Durability):一个事务一旦提交,则会永久的改变数据库的数据。

    ⒊事务的创建

      1.隐式事务:事务没有明显的开启和结束的标记,例如insert、update和delete语句

      2.显式事务:事务具有明显的开启和结束的标记。前提,必须先设置自动提交功能为禁用。set autocommit = 0;

            显示当前事务状态 show variables like 'autocommit';

    ⒋事务过程

      ①开启事务

    1 set autocommit = 0;
    2 start transaction;    #可选

      ②编写事务中的sql语句(select、insert、update、delete)

    1 语句1;
    2 语句2;
    3 ....

      ③结束事务

    1 commit;    #提交事务
    2 rollback;    #回滚事务

    ⒌事务的隔离级别

    级别 脏读 不可重复读 幻读

    read uncommitted

    读未提交(数据)

    read committed

    读已提交(数据)

    repeatable read

    可重复读

    serializable

    串行化

          MySql中默认第三个隔离级别:repeatable read(可重复读)

          Oracle中默认第二个隔离级别:read committed(读已提交)

          查看隔离级别:select @@tx_isolation

          设置隔离级别:set session|global transaction isolation level

    ⒍SAVEPOINT回滚点

      在sql中设置

    1 语句1;
    2 savepoint a;    #设置回滚点
    3 语句2;
    4 rollback to a;    #回滚到指定的回滚点
  • 相关阅读:
    HDU5000 (DP + 规律)
    HDU5127 神坑题---vector 、 list 、 deque 的用法区别
    HDU5128 细心、细心、细心
    dij单源最短路纯模板
    POJ 1236 SCC+缩点
    SCC(强连通分量)
    用树状数组求数组内的逆序对数
    HDU 1811 并查集
    大数模板,只要不是手敲,非常好用
    市赛
  • 原文地址:https://www.cnblogs.com/fanqisoft/p/10698620.html
Copyright © 2011-2022 走看看