MySql中的事务

 一.MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关
1.MyISAM:不支持事务,用于只读程序提高性能 
2.InnoDB:支持ACID事务、行级锁、并发

二.一个事务是一个连续的一组数据库操作,就好像它是一个单一的工作单元进行。换言之,永远不会是完整的事务,除非该组内的每个单独的操作是成功的。如果在事务的任何操作失败,则整个事务将失败。

实际上,会俱乐部许多SQL查询到一个组中,将执行所有的人都一起作为事务的一部分。

事务的特性: 
事务有以下四个标准属性的缩写ACID,通常被称为:

  1. 原子性: 指一组操作,要么都成功执行,要么都不执行
  2. 一致性: 确保数据库正确地改变状态后,成功提交的事务。
  3. 隔离性: 在所有的操作没有执行完毕之前, 会话不能够看到中间改变的过程。
  4. 持久性: 确保提交的事务的结果或效果的系统出现故障的情况下仍然存在。事务产生的影响不能够撤销
三.事务的操作
开启事务:
start  transaction
 要执行的sql语句1
 要执行的sql语句2
 ........
Commit 提交
Rollback 回滚
注意:当一个事务commit,或者rollback就结束了

在MySQL中,事务开始使d用COMMIT或ROLLBACK语句开始工作和结束。开始和结束语句的SQL命令之间形成了大量的事务。

COMMIT & ROLLBACK: 
这两个关键字提交和回滚主要用于MySQL的事务。

当一个成功的事务完成后,发出COMMIT命令应使所有参与表的更改才会生效。

如果发生故障时,应发出一个ROLLBACK命令返回的事务中引用的每一个表到以前的状态。

四.Mysql中事务实现的原理


注:在不使用事务的时候调用的SQL语句直接作用于表,在使用了事务后sql语句首先记录在了事务日志文件中,等到commit后才作用于表中。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值