事务的定义:逻辑上一组操作,这组操作的各个单元,要么都不成功,要么都成功,这个特性就是事务(通常操作量较大、复杂度较高时)。
注意:mysql数据库支持事务,但是必须要求是innoDB存储引擎。
比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!
使用:
(1) 执行sql语句之前,先执行start transaction;
(2) 执行语句。
结果:
(1) 全部成功,sql语句操作的影响提交到数据库中,committ;
(2) 失败,数据采取rollback(回滚)操作,将之前的数据库操作删除。
比如:
//先初始化一个表格
mysql>create table bank
mysql>(name varchar(20),
mysql>money decimal(5,1))
mysql>engine=innodb
mysql>charset=utf8;
//创建表bank
mysql>insert into bank values('shaotuo',4000),("laowang",5000);
//给表输值
//开始一个事务
mysql>start transaction;
mysql>update bank set money=money+500 where name='shaotuo';
mysql>update bank set moey=money-500 where name='laohu';
//出现执行事务失败,执行rollback(回滚)操作,将之前的数据库操作删除
mysql>roolback;
mysql>update bank set money=money+500 where name='shaotuo';
mysql>update bank set money=money-500 where name='laohu';
//事务执行成功
mysql>commit;