JAVA全系列 教程
3762个小节阅读:7089.2k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
TCL语句 | 描述 |
---|---|
start transaction | 事务开启 |
commit | 事物提交 |
rollback | 事物回滚 |
示例一:
创建account账户表,包含id、卡号、用户名、余额。
xxxxxxxxxx
create table account(
id int primary key auto_increment,
cardnum varchar(20) not null,
username varchar(30) not null,
balance double(10,2)
);
示例二:
向account表中插入两条数据。
xxxxxxxxxx
insert into account(cardnum,username,balance)
VALUES('123456789','张三',2000);
insert into account(cardnum,username,balance)
VALUES('987654321','李四',2000);
示例三:
在一个事务中完成转账业务。
xSTART TRANSACTION
update account set balance = balance-200 where cardnum = '123456789';
update account set balance = balance+200 where cardnum = '987654321';
select * from account;
-- 当我们关闭数据库重新打开后,张三和李四的账户余额并没发生任何变化。
-- 这是因为当我们使用“START TRANSACTION”开启一个事务后,该事务的提交方式不再是自动的,
-- 而是需要手动提交,而在这里,我们并没有使用事务提交语句COMMIT,
-- 所以对account表中数据的修改并没有永久的保存到数据库中,也就是说我们的转账事务并没有执行成功
-- 提交转账事务
commit;
-- 事务的回滚让数据库恢复到了执行事务操作前的状态。
-- 需要注意的是事务的回滚必须在事务提交之前,因为事务一旦提交就不能再进行回滚操作。
rollback;
实时效果反馈
1.事务提交语句。
A commit
B confirm
C transaction commit
D transaction confirm
2.事务回滚语句。
A rollback
B revoke
C transaction rollback
D transaction revoke
答案
1=>A 2=>A