栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySQL基础-TCL(Transaction Control Language)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL基础-TCL(Transaction Control Language)

事务:由一个或一组sql语句组成一个执行单元,每个SQL语句是相互依赖的, 这个执行单元作为不可分割的一个整体要么全部执行,要么全部不执行。

案例:转账

GC:1000

GCC:1000

update 表 set GC's balance=500 where name='GC';
update 表 set GCC's balance=1500 where name='GCC';
一、事务的ACID属性

1.原子性(Atomicity):原子性是指事务是个不可分割的工作单位,事务中的操作要么都发生,要么都不发生

2.一致性(Consistency):事务必须使数据库从一个一致性状态变换到另一个一致性状态

3.隔离性(Isolation):事物的隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能相互干扰。

4.持久性(Durability):持久性是指一个事务一旦被提交,他对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响

二、事务的创建

隐式的事务:事务没有明显的开启个结束的标记(比如:insert、update、delete语句)

显示事务:事物具有明显的开启和结束的标记

前提:必须要先设置自动提交功能为禁用

set autocommit=0;

步骤一:开启事务

set autocommit=0;
start transaction;/可选

步骤二:编写事务中的SQL语句(select、insert、update、delete)

语句1;

语句2;

...

步骤三:结束事务

commit;//提交事务
rollback;//回滚事务

 案例:

set autocommit =  0;
start transaction ;
update tab_Acc set account_Balance = 500 where userName='GC';
update tab_Acc set account_Balance = 1500 where userName='GCC';
commit ;

 事务提交后再回滚已无效

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

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

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