栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

数据库:TCL事务控制语言

数据库:TCL事务控制语言

 一:介绍 事务含义:

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

事务的特性ACID

    原子性:一个事务不可再分割,要么都执行要么都不执行
    一致性:一个事务执行会使数据从一个一致状态切换到另一个一致状态
    隔离性:一个事物执行不受其他事物的干扰
    持久性:一个事务一旦提交,则永久改变数据库的数据。

事务的创建

    隐式:事务没有明显的开启和结束的标记 比如insert、update、delete
    显式:事务具有明显的开启和结束的标记
           前提:必须设置自动提交功能为禁用 set autocommit=0;
    步骤:
           开启事务
                  set autocommit=0;
                  start transaction;可选的
                  编写事务中的sql语句               
          结束事务
              commit;提交事务
              rollback;回滚事务

隔离级别:

脏读:T1读取T2更新但未提交的字段,T2回滚,T1脏读
不可重复读:T1,T2读取一个字段,T2更新,T1再读的内容变化
幻读:T1,T2读取一个字段,T2插入新行,T1再读则多出几段
                   脏读  不可重复读    幻读
read uncommitted   有        有         有
read committed     无        有         有 
repeatable read    无        无         有
serializable       无        无         无
mysql默认第三个级别,oracle默认第二个级别
select @@tx_isolation;查看隔离级别
set session|global transaction isolation level;隔离级别

#1.事务
SET autocommit=0;
START TRANSACTION;
UPDATE account SET balance =200 WHERe username='张无忌';
UPDATE account SET balance =1800 WHERe username='赵敏';
COMMIT;
ROLLBACK;
#2.设置保存点
SET autocommit=0;
START TRANSACTION;
DELETE FROM account WHERe id=1;
SAVEPOINT a;#设置保存点
DELETe FROM account WHERe id=28;
ROLLBACK TO a;#回滚到保存点

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/281395.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号