MySQL 事务和多用户 第一讲

MySQL 事务和多用户 第一讲

1.事务出现的原因:

根据现实的问题,可以知道我们现在做都是面向一个用户在使用,如果面向多个用户共享数据库则需要用到。

所谓事务:是指一组原子操作(一组SQL语句执行)的工作单元

2.事务处理需要满足的ACID原则:

(1)ACID代表的是原子性(A)、一致性(C)、隔离性(I)、持久性(D)

(2)原子性:是指每个事务都必须被认为是一个不可分割的单元,如果一个事务由两个或开始者多个任务组成,只有在数据全部执行成功后,才可以认为是成功的,如果有一个失败,系统将会返回到以前的状态。来保证数据的安全性

(3)一致性:是指如果从系统中删除一个雇员,则所有和该雇员相关的数据都会删除。

(4)隔离性:是指每个事物在他自己的空间发生,和其他发生系统中的事务隔离,而且事务的结果只有在他执行完结果之后才能看到

(5)持久性:是指只要是提交的数据都会被存起来,没有提交的不可以

3.事务处理的步骤:

首先要关闭自动提交

Set @@autocommit = 0;

因为在MySQL中,当一个会话开始时,系统变量autocommit的值为1,即自动提交的功能是打开的,因此没执行一次语句,就会永久的保存在磁盘上,一个事务也就结束了,所以必须关闭自动提交,事务才能由多条Mysql语句组成,

(1) 开始事物 ----- 启动事务

Start transnaction | begin work

start transaction 开始事物

更新

update student

set name='dff'

where id=8

(2) 结束事务

Commit [work]

commit;(提交事物)

(3)撤销事务----------------结束当前的事务

Rollback work

(4)回滚事物-----------把所有修改的取消

Rollback;

可以加个保存点,取消指定的

设置保存点

savepoint s1

delete from student

where id=1;

回滚到保存点,事物没有提交

rollback work to savepoint s1

4.事务隔离级别

事务的隔离级别分为:序列化、可重复读、提交读、未提交读

详解请看第二讲

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值