Java面试手册V2.0+突击V3.0知识点整理(二十六) 附封面图片

本文详细介绍了数据库事务的四大特性(ACID),包括原子性、一致性、隔离性和持久性,并讲解了事务的不同隔离级别及其应用场景。同时,讨论了数据库锁的作用和死锁的概念,以及如何通过设置超时和死锁检测来避免死锁。此外,还涉及了MySQL中创建用户、授权的方法以及删除表的三种方式,分别是DELETE、TRUNCATE和DROP,它们在数据删除和回滚方面存在差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述


1. 什么是事务?
  • 可以用来维护数据库的完整性,它保证成批的MySQL操作要么完全执行,要么完全不执行

2. 事务的四个特性

事务必须满足四个条件(ACID):

  • 原子性(Atomicity):一个事务中的所有操作,要么全部完成,要么全部不完成,最小的执行单位
  • 一致性(Consistency):事务执行前后,都处于一致性状态
  • 隔离性(Isolation):数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致
  • 持久性(Durability):事务执行完成后,对数据的修改就是永久的,即便系统故障也不会丢失

3. 事务隔离级别
  • READ_UNCOMMITTED:这是事务的最低隔离级别,它允许另外一个事务可以看到这个事务未提交的数据。解决第一类丢失更新的问题,但是会出现脏读、不可重复读、第二类丢失更新的问题、幻读
  • READ_COMMITTED:保证一个事务修改的数据提交后才能被另外一个事务读取,即另外一个事务不能读取该事务未提交的数据。解决第一类丢失更新和脏读的问题,但是会出现不可重复读、第二类丢失更新的问题、幻读问题
  • REPEATABLE_READ:保证一个事务相同条件下前后两次获取到的数据是一致的(注意是一个事务,可以理解为事务间的数据互不影响)解决第一类丢失更新,脏读、不可重复读、第二类丢失更新的问题,但会出现幻读
  • SERIALIZABLE:事务串行执行,解决了脏读、不可重复读、幻读,但效率很差,所以实际中一般不用

4. InnoDB默认事务隔离级别?如何查看当前隔离级别?
  • InnoDB默认为可重复读(REPEATABLE_READ)
  • 查看
    在这里插入图片描述

5. 什么是锁?
  • 数据库的锁是为了支持对共享资源进行并发访问,提供数据的完整性和一致性,这样才能保证在高并发的情况下,访问数据库的时候,数据不会出现问题

6. 死锁
  • 是指两个或两个以上进程执行过程中,因竞争共享资源造成的相互等待现象

7. 如何处理死锁?
  • 设置超时时间,超时后自动释放
  • 发起死锁检测,主动回滚其中一条事务,让其他事务继续执行

8. 如何创建用户?授权?
  • 创建用户
	CREATE USER 'username'@'host' IDENTIFIED BY 'password';
  • 授权
	GRANT privileges ON databasename.tablename TO 'username'@'host';

···

  • username:用户名
  • host:可以登陆的主机地址。本地用户用localhost表示,任意远程主机用通配符%
  • password:登录密码,密码可以为空表示不需要密码登录服务器
  • databasename:数据库名称
  • tablename:表名称,*表示所有表
    ···

9. 查看表结构
  • desc table_name;
    在这里插入图片描述

10. MySQL删除表的几种方式?区别?

-delete:仅删除表数据,支持条件过滤,支持回滚。记录日志。因此比较慢

	delete from table_name;
  • truncate:仅删除所有数据,不支持条件过滤。不支持回滚。不记录日志,效率过于delete
	truncate table table_name;
  • drop:删除表数据同时删除表结构。将表所占的空间都释放掉。删除效率最高
	drop table table_name;

上一篇:Java面试手册V2.0+突击V3.0知识点整理(二十五) 附封面图片😍
下一篇:Java面试手册V2.0+突击V3.0知识点整理(二十七) 附封面图片😍


如果觉得封面图片还行,请顺手点个赞😍

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SimpleZihao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值