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

    
    
    一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。如:转账。
    原子性(Atomicity):一个事务要么都执行,要么都回滚(不可再分割)
    一致性(Consistency):保证数据的状态操作前和操作后保持一致
    隔离性(Isolation):多个事务同时操作相同数据库的同一个数据时,一个事务的执行不受另外一个事务的干扰
    持久性(Durability):一个事务一旦提交,则数据将持久化到本地(则会永久的改变数据库的数据),除非其他事务对其进行修改
     
    事务的步骤
    1、开启事务
    2、编写事务的一组逻辑操作单元(多条sql语句)
    3、提交事务或回滚事务
    #演示事务的使用步骤:(以转账为例)
    #开启事务
    set autocommit = 0;
    start transaction;
    #编写一组事务语句
    update account set balance =500 where usename ='张无忌';
    update account set balance =1500 where usename ='郭襄';
    #结束事务
    commit;

    事务的分类:

    隐式事务,没有明显的开启和结束事务的标志

    insert、update、delete语句本身就是一个事务

    显式事务,具有明显的开启和结束事务的标志

    前提:取消自动提交功能
       set autocommit=0;
        1、开启事务
        start transaction;可省略
        2、编写事务的一组逻辑操作单元(多条sql语句)
        insert
        update
        delete
        设置回滚点:savapoint 回滚点名;
        3、提交事务或回滚事务
        提交 :commit;
        回滚:rollback;
        回滚到指定的地方:rollback to 回滚点名;

    使用到的关键字

    set autocommit=0;
    start transaction;
    commit;
    rollback;
    
    savepoint  断点
    commit to 断点
    rollback to 断点

    参考:

    https://www.jianshu.com/p/6738c4b11da8



  • 相关阅读:
    php二维数组排序
    重学C语言 -- printf,scanf
    php调试利器 -- xdebug
    composer php依赖管理工具
    现代php开发
    php新特性--持续更新
    2016年书单
    jenkins集成gitlab实现自动合并
    etcd安装
    nginx 日志切割
  • 原文地址:https://www.cnblogs.com/sea-stream/p/11297744.html
Copyright © 2011-2022 走看看