1.连接查询(必会)
1.左连接
(左外连接)以左表为基准进行查询,左表数据会全部显示出来,右表 如果和左表匹配 的数据则显示相应字段的数据,如果不匹配,则显示为 NULL;
2.右连接
(右外连接)以右表为基准进行查询,右表数据会全部显示出来,右表 如果和左表匹配的数据则显示相应字段的数据,如果不匹配,则显示为 NULL;
2.聚合函数(必会)
1.聚合函数
SQL中提供的聚合函数可以用来统计、求和、求最值等等。
2.分类
COUNT:统计行数量
SUM:获取单个列的合计值
AVG:计算某个列的平均值
MAX:计算列的最大值
MIN:计算列的最小值
3.SQL关键字(必会)
1.分页
MySQL的分页关键词limit
SELECT * FROM student3 LIMIT 2,6; 查询学生表中数据,从第三条开始显示,显示6条
2.分组
MySQL的分组关键字:group by
SELECT sex, count(*) FROM student3 GROUP BY sex;
3.去重
去重关键字:distinct
select DISTINCT NAME FROM student3;
4.SQL Select 语句完整的执行顺序: (必会)
查询中用到的关键词主要包含如下展示,并且他们的顺序依次为
(1) form 表 从哪个表查
(2) Left/right join on 关联表
(3) where 过滤条件
(4) group by 分组
(5) avg()/sum()等 聚合
(6) Having 继续过滤
(7) select 查询
(8) order by asc/desc 排序
(9) Limit 分页
5.数据库三范式(必会)
第一范式:1NF 原子性,列或者字段不能再分,要求属性具有原子性,不可再分解;
第二范式:2NF 唯一性,一张表只说一件事,是对记录的惟一性约束,要求记录有惟一标识,
第三范式:3NF 直接性,数据不能存在传递关系,即每个属性都跟主键有直接关系,而不是间接关系。
6.存储引擎 (高薪常问)
1.MyISAM存储引擎
主要特点:
MySQL5.5版本之前的默认存储引擎
支持表级锁(表级锁是MySQL中锁定粒度最大的一种锁,表示对当前操作的整张表加锁);
不支持事务,外键。
适用场景:对事务的完整性没有要求,或以select、insert为主的应用基本都可以选用MYISAM。在Web、数据仓库中应用广泛。
特点:
1、不支持事务、外键
2、每个myisam在磁盘上存储为3个文件,文件名和表名相同,扩展名分别是
.frm -------存储表定义
.MYD --------MYData,存储数据
.MYI --------MYIndex,存储索引
2.InnoDB存储引擎
主要特点:
MySQL5.5版本之后的默认存储引擎;
支持事务;
支持行级锁(行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁);
支持聚集索引方式存储数据。
7.数据库事务(必会)
1.事务特性
原子性:即不可分割性,事务要么全部被执行,要么就全部不被执行。
一致性:事务的执行使得数据库从一种正确状态转换成另一种正确状态
隔离性:在事务正确提交之前,不允许把该事务对数据的任何改变提供给任何其他事务,
持久性:事务正确提交后,其结果将永久保存在数据库中,即使在事务提交后有了其他故障,事务的处理结果也会得到保存。
2.隔离级别
(1)读未提交(read Uncommited):
在该隔离级别,所有的事务都可以读取到别的事务中未提交的数据,会产生脏读问题,在项目中基本不怎么用, 安全性太差;
(2) 读已提交(read commited):
这是大多数数据库默认的隔离级别,但是不是MySQL的默认隔离级别;这个隔离级别满足了简单的隔离要求:一个事务只能看见已经提交事务所做的改变,所以会避免脏读问题;
由于一个事务可以看到别的事务已经提交的数据,于是随之而来产生了不可重复读和虚读等问题(下面详细介绍这种问题,结合问题来理解隔离级别的含义);
(3

本文详细介绍了Java面试中关于数据库的相关知识点,包括连接查询(左连接、右连接)、聚合函数、SQL关键字(如分页、分组、去重)、SQL执行顺序、数据库三范式、存储引擎(如MyISAM和InnoDB)、事务及其特性、隔离级别、索引概念、索引分类及底层实现原理、如何避免索引失效、数据库锁(行锁与表锁、悲观锁与乐观锁)以及MySQL优化技巧(如慢查询日志、索引设计原则等)。
最低0.47元/天 解锁文章
283

被折叠的 条评论
为什么被折叠?



