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 高级的主要内容,如果未能解决你的问题,请参考以下文章

MySQL高级

Mysql高级-day01

mysql高级排序&高级匹配查询示例

MySQL面试题(无答案版) 中高级必看

Mysql高级SQL语句

MySQL高级——锁与事务