MySQL数据库事务基本操作

这篇日志是自己学习了MySQL数据库的事务之后,总结的一点心得体会。都是一些非常基础的知识点。如能帮助诸位初学者,那真是我的荣幸。
数据库的事务,很多的博客也都有了详细的介绍。最基本的事务特性啊(ACID)这里就不再赘述。
首先,如果想要开启MySQL数据库的事务,需要我们手动设置。

**1、开启数据库的事务**
我们在Navicat中,新建一个查询,输入:`start transaction;`

**2、删除表中的某个用户**
delete from tb_user where userId = 1;
这时,我们查看数据的话,userId为1的数据仍然存在。但是如果用select语句查询的话,这条数据是查不到的。

**3、恢复删除的用户(rollback 操作)**
rollback;
**4、commit 操作**
commit;
执行了commit操作之后,rollback操作将无效。


在多线程情况下,事务并发可能会引发以下问题:
    1、脏读:一个事务读取到另一个事务未提交的更新数据
    2、不可重复读:一个事务运行期间两次读取相同数据但是内容不一 致,原因是两次读取期间有其它事务对数据做了更新并提交。也可以说这个事务读到了另外一个事务已经提交的更新数据。
    3、虚读/幻影读:一个事务运行期间两次读取相同数据但是内容不一 致,原因是两次读取期间有其它事务对数据进行了插入或删除了符合条件的数据并提交。也可以说这个事务读到了另外一个事务已经提交的新插入或删除的数据。
水平所限,目前我只知道可以通过设置事务的隔离级别来解决以上问题。但本篇的重点是数据库的基本操作,所以不在此展开。
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值