MySQL数据库-DAY04

执行事务

事务机制:确保数据一致性

事务具有4个属性:

1.原子性:一个事务是一个不可分割的工作单位,事务中包括的各个操作要么都做,要么都不做。

2.一致性:事务必须是使数据库从一个一致性状态变到另一个一致性状态

3.隔离性:一个事务的执行不能被其他事务干扰。

4.持久性:一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

【注意】

1.mysql中默认sql语句的结果自动commit提交到数据库

2.开始需要写starttransaction,这样自动commit就会被禁用,直到我们用commit提交 或者 rollback回滚 来终止这个transaction

 

starttransaction;

sql1;

sql2;

...

sqln;

commit;

 

例子:

starttransaction;

insertinto instructors values ('Meng','F','Manager');

commit;

 

 

starttransaction;

updateinstructors set rank = 'CEO' where name = 'Meng';

rollback;

 

begin;

savepointsp1;

insertinto instructors values('Xiao','F','teacher');

savepointsp2;

insertinto instructors value('Ling','M','manager');

savepointsp3;

insertinto instructors value('Dao','M','instructor');

 

select* from instructors;

 

rollbackto sp3;

select* from instructors;

releasesavepoint sp3;

 

【注意】

MySQL的rollback操作只适用于DML(data manipulation language)数据操纵语言:select,insert,update,delete.

 

DDL(datadefinition language)数据定义语言,比DML要多:create,alter,drop等。DDL主要是用在定义或者改变表的结果,数据类型,表的约束等初始化工作上,他们大多在建立表的时候使用。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值