认识mysql事务

一.认识mysql

1. MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

2.mysql主要用于处理操作量大。复杂度高的数据。

二.mysql事务提交方式

1.mysql中有两种事务提交方式

a.自动提交(mysql默认提交方式)

a-1.什么是自动提交

自动提交就是执行sql语句(删除,修改,增加)成功,便会立即改变数据库内的数据;

a-2.查看mysql提交方式

格式:

select @@autocommit;

效果如下:

a-3.@@表示全局变量(0=手动提交     1=自动提交)我们也可以改变提交方式

格式:

set autocommit = 0;
set autocommit = 1;
b.手动提交

b-1.开启事务

相当于在一个空间里再开辟一个新空间,新空间里发生的一切,在事务没有(提交/回滚)之前是不会影响到外面那个空间(数据库)。

格式:

start transaction;

b-2-1.提交事务

提交之后mysql数据库会按照你所输入的sql语句发生变化

commit; 

b-2-2.回滚事务

回滚就是相当与游戏里面的删档,不在执行当前事务

rollback;

三.mysql事务隔离级别

1.事务特性:

原⼦性(Atomicity):事务内的操作要不全部完成,要不全部回滚。

⼀致性(Consistency):事务执行的前后都是合法的数据状态,不会违反任何的数据完整性。

隔离性(Isolation):主要是事务之间的相互的影响,根据隔离有不同的影响效果。

持久性(Durability):事务⼀旦提交,就会体现在数据库上,不能回滚。

2.事务的并发问题:

脏读:比如事务a执⾏的过程中,读到了事务b未提交的内容。

不可重复读:指⼀个事务在前后两次查询的结果不⼀致。

幻读:幻读是指前后两次相同条件下的查询,后⼀次查询读到 了前⼀次查询没有的⾏数据。

3.事务的隔离级别:

注意:隔离级别越高,性能越差,安全性越高

4.事务的隔离命名:

a.查看隔离级别

b.设置隔离级别

set global transaction_isolation='级别字符串';

b-1. read uncommited 1级

b-2. read committed 2级

b-3 repeatable read 3级

b-4 serializable 4级

 隔离级别越高,性能越差,安全性越高

c.重启客户端(黑屏),查看当前隔离级别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值