什么是事务
事务就是对数据库的一组SQL操作,当**全部正确执行**数据库应用便会**提交到数据库**,只要当前事务中有**一个SQL操作未能正确执行**那么这一组SQL操作便会被**回滚到原始状态**
事务的作用
**保证我们某一个业务逻辑对数据库的正确操作**,如果中间有一个SQL操作未完成,或者程序出现错误,则会按照指定的事务规则进行回滚,以此来保证我们数据的安全性和完整性。
特性
原子性:
测试事务实现转账
--转账,新建一个数据库例子:1 | create database shop character set utf8 collate utf8_general_ci2 | use shop--创建一个收款表例子:3 | create table `account`(`id` int(3) not null auto_increment,`name` varchar(30) not null,`money` decimal(9,2) not null,primary key (`id`))engine=innodb default charset=utf8;--添加数据例:4 | insert into account(`name`,`money`) values ('A',2000.00),('B',10000.00)-- 模式事务例子:5 | set autocommit = 0; --默认自动提交事务,设为手动关闭自动提交6 | start transaction; --开启一个事务 (一组事务)--转账步骤(一个一个执行)例子:7 | UPDATE account SET money = money - 500 WHERE `name` = 'A' ; --A减5008 | update account set money = money + 500 where `name` ="B"; --B加5009 | ROLLBACK;//回滚 变回原来的状态10 | COMMIT;//提交 持久化不可逆11| set autocommit = 1;//恢复默认值,//设为自动提交事务
