TCL
transacation control language 事务控制语言
事务:
一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行
1.原子性:不可再分,要么全部执行,要么全部不执行
2.一致性:事务必须使数据库从一个一致性状态变换到另一个一致性状态
3.隔离性:一个事务执行不能被另一个干扰
4.持久性:一个事务一旦被提交,对数据库的改变是永久性的
案例:转账
张三丰 1000
郭嘉 1000
update 表 set 张三丰的余额 = 500 where name='张三丰'
update 表 set 郭嘉的余额 = 1500 where name='郭嘉'
事务的创建
#隐式事务:事务没有明显的开启结束的标记
比如insert、update、delete语句
delete from 表 where id = 1;
#显示事务:有明显的开启或结束的标记
前提:必须设置自动提交功能为禁用
步骤一、开启事务
set autocommit = 0 ;
start transaction;可选的
步骤二、编写事务中的sql语句(select insert update delete)
语句一;
语句二;
...
步骤三、结束事务
commit;提交事务
rollback;回滚事务
开启事务的语句;
update 表 set 张三丰的余额 = 500 where name='张三丰'
update 表 set 郭嘉的余额 = 1500 where name='郭嘉'
结束事务的语句;
标签:语句,事务,set,张三丰,update,where From: https://www.cnblogs.com/liujy2233/p/16989092.html