添加Mysql守护_mysql 事物

事务

事务四大特性(简称ACID)

原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行

一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致

隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的

持久性(Durability):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障

事务命令

要求:表的引擎类型必须是innodb类型才可以使用事务,这是mysql表的默认引擎

查看表的创建语句,可以看到engine=innodb

show create table students;

修改数据的命令会触发事务,包括insert、update、delete

开启事务,命令如下:

开启事务后执行修改命令,变更会维护到本地缓存中,而不维护到物理表中

begin;

提交事务,命令如下

将缓存中的数据变更维护到物理表中

commit;

回滚事务,命令如下:

放弃缓存中变更的数据

rollback;

提交

为了演示效果,需要打开两个终端窗口,使用同一个数据库,操作同一张表

step1:连接

终端1:查询学生信息

select * from students;

step2:增加数据

终端2:开启事务,插入数据

begin;

insert into students(sname) values('张飞');

终端2:查询数据,此时有新增的数据

select * from students;

step3:查询

终端1:查询数据,发现并没有新增的数据

select * from students;

step4:提交

终端2:完成提交

commit;

step5:查询

终端1:查询,发现有新增的数据

select * from students;

回滚

为了演示效果,需要打开两个终端窗口,使用同一个数据库,操作同一张表

step1:连接

终端1

select * from students;

step2:增加数据

终端2:开启事务,插入数据

begin;

insert into students(sname) values('张飞');

终端2:查询数据,此时有新增的数据

select * from students;

step3:查询

终端1:查询数据,发现并没有新增的数据

select * from students;

step4:回滚

终端2:完成回滚

rollback;

step5:查询

终端1:查询数据,发现没有新增的数据

select * from students;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值