mysql事务54

create table `users`(
`id` int primary key auto_increment,
`name` varchar(10),
`age` int,
`account` int
)engine=innodb default charset=utf8mb4;
insert into `users` values(null,'张三',20,1000),(null,'李四',25,100),(null,'王五',18,0);
select * from users;
+----+--------+------+---------+
| id | name   | age  | account |
+----+--------+------+---------+
|  1 | 张三   |   20 |    1000 |
|  2 | 李四   |   25 |     100 |
|  3 | 王五   |   18 |       0 |
+----+--------+------+---------+
3 rows in set (0.00 sec)



事务的定义:事务指的是一系列对数据的访问和更新的操作所组成的一个程序执行逻辑单元。
事务的特性ACID:1.原子性(Atomicity)
2.一致性(Consistency)
3.隔离性(Isolation)
4.持续性(Duration)

事务的隔离级别:1.READ_UNCOMMITTED(读未提交)
2.READ_COMMITTED(读已提交)
3.REPEATABLE_READ(可重复度)
4.SERIALIZABLE(顺序读)

事务并发引起的问题:1.脏读
2.不可重复度
3.幻读

事务的语法:
开启事务:start transaction/begin;
提交事务:commit;
回滚事务(放弃事务操作):rollback;

查看当前会话中事务的隔离级别:
select @@tx_isolation;

设置当前会话的隔离级别(注意只是当前会话)
读未提交(READ_UNCOMMITTED)
set session transaction isolation level read uncommitted;
读已提交(READ_COMMITTED)
set session transaction isolation level read committed;
可重复度(REPEATABLE_READ)
set session transaction isolation level repeatable read;
顺序读(SERIALIZABLE)
set session transaction isolation level serializable;

隐式提交
DQL 数据查询语句;
DML 数据操作语句(增删改);
DDL 数据定义语句;
DCL 数据控制语句(授权,删除授权);
其中,DDL出现在事务中,会造成事务的提交,就是说,相当于执行了commit。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值