数据库mysql的面试题

1.MySql中两种存储引擎的区别

MyISAM:

不支持事务,但是每次查询都是原子的;
支持表级锁,即每次操作是对整个表加锁;
存储表的总行数;

一个MYISAM表有三个文件:索引文件、表结构文件、数据文件;
采用菲聚集索引,索引文件的数据域存储指向数据文件的指针。辅索引与主索引基本一致,但是辅索引不用保证唯一性。
InnoDb:

支持ACID的事务,支持事务的四种隔离级别;
支持行级锁及外键约束:因此可以支持写并发;
不存储总行数;

一个InnoDb引擎存储在一个文件空间(共享表空间,表大小不受操作系统控制,一个表可能分布在多个文件里),也有可能为多个(设置为独立表空,表大小受操作系统文件大小限制,一般为2G),受操作系统文件大小的限制;
主键索引采用聚集索引(索引的数据域存储数据文件本身),辅索引的数据域存储主键的值;因此从辅索引查找数据,需要先通过辅索引找到主键值,再访问辅索引;最好使用自增主键,防止插入数据时,为维持B+树结构,文件的大调整。

2.数据库的三范式

第一范式:字段都具有原子性,不可再分,所有关系型数据库都应该满足第一范式
第二范式:满足第一范式,要求实体的属性完全依赖于主关键字,所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体于原实体之间是一对多的关系,为实现分通常需要为表加上一个列,以存储各个实例的唯一标识.
第三范式:满足第二范式,要求一个数据库表中不包含已在其它表中已包含的非关键字信息
1:每一行只有一个值
2:每一行都能区分
3:每一个表都不包含其它表已经包含的非主关键字的信息

3.nion 与union all的区别

union 在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排 序运算,删除重复的记录再返回结果。 union all 则会显示重复结果,只是简单的两个结果合并并返回.所以效率比union高,在保证没有重复数据的情况下用union all.

select name from table1

union

select name from table2;

4.用一条 SQL 语句查询出每门课都大于 80 分的学生姓名

name kecheng fenshu

张三 语文 81

张三 数学 75

扫描二维码关注公众号,回复: 5778673 查看本文章

李四 语文 76

李四 数学 90

王五 语文 81

王五 数学 100

王五 英语 90

分析:都大于80,他的反面就是<=80,我们可以先求出所有<=80的姓名,然后取反就可以了

所以sql语句 select name from student where name not in (select name from student where fenshu <=80)

5.Class.forName()的作用?

按参数中指定的字符串形式的类名去搜索并加载相应的类,如果该类字节码已经被加载

过,则返回代表该字节码的 Class 实例对象,否则,按类加载器的委托机制去搜索和加载该

类,如果所有的类加载器都无法加载到该类,则抛出 ClassNotFoundException。加载完这

个 Class 字节码后,接着就可以使用 Class 字节码的 newInstance 方法去创建该类的实例

对象了。

6.统计各个部门薪水大于5000的人数

SELECT department , COUNT(money) from employee where money>=5000 group by department;

7.怎么把这样一个表

year month amount
1991 1 1.1
1991 2 1.2
1991 3 1.3
1991 4 1.4
1992 1 2.1
1992 2 2.2
1992 3 2.3
1992 4 2.4
查成这样一个结果
year m1 m2 m3 m4
1991 1.1 1.2 1.3 1.4
1992 2.1 2.2 2.3 2.4

答案、
select year,
(select amount from aaa m where month=1 and m.year=aaa.year) as m1,
(select amount from aaa m where month=2 and m.year=aaa.year) as m2,
(select amount from aaa m where month=3 and m.year=aaa.year) as m3,
(select amount from aaa m where month=4 and m.year=aaa.year) as m4
from aaa group by year

猜你喜欢

转载自blog.csdn.net/qq_43513205/article/details/86774804