MySQL 高级
Posted "人生四种修为:忍得过、看得破,拿得起、放得下"
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 高级相关的知识,希望对你有一定的参考价值。
事物
1.什么是事物
事物是逻辑上的一组操作,要么都成功,要么都失败
2.为什么需要事物
很多时候一个数据操作,不是一个sql语句就完成的,可能有很多个sql语句,如果部分sql执行成功而部分sql执行失败将导致数据错乱!
3.使用事物
start transaction; #开启事物,在这条语句之后的sql将处在同一事物,并不会立即修改数据库
commit;#提交事物,让这个事物中的sql立即执行数据的操作;
rollback; 回滚事物,取消这个事物,这个事物不会对数据库中的数据产生任何影响
案列:转账过程中发生异常
create table account(id int primary key auto_increment,name char(20),money double);
insert into account values(1,‘赵大儿子‘,1000);
insert into account values(2,‘刘大牛‘,1000);
insert into account values(3,‘猪头三‘,1000);
insert into account values(4,‘王进‘,1000);
insert into account values(5,‘黄卉‘,1000);
start transaction;
update account set money = money - 500 where id =1;
update account set money = money +500 where id =2;
commit;
rollback;
注意;事物的回滚的前提是能捕捉到异常否则无法决定何时回滚,python 中很简单就实现了,
mysql中需要使用存储过程才能捕获异常!
以上是关于MySQL 高级的主要内容,如果未能解决你的问题,请参考以下文章