mysql讲解
一、数据库面试题
1、你用过哪些数据?
mysql
2、数据库分为哪些类型?
非关系型数据库: redis 、hbase、mongodb
关系型数据库:myslq、oracle、sqlserver
3、你对数据库熟悉?熟悉
4、你讲下数据库中常用的语句?
ddl语句: 数据库定义语句
dml语句:数据库操作语句
dql语句:数据库查询语句
dcl语句:数据控制
增 insrert into 、删 detele 、 改 update set 、查 select 、group by 分组、order by 排序、 like 模糊查询、 limit 限制语句 、函数max ,min、count 、sum、avg、distinct
5、在工作中你使用数据库做什么?
校验数据字段、入库正确性、造数据、查重、数据的增删改查
6、数据库如何测试?
(1)数据的正确性
(2)数据的容量
(3)数据字段显示(是否有乱码)
(4)数据的增删改查的功能
(5)数据同步
(6)清理脏数据
(7)数据中的数据安全性(脱敏)
7、你会多表?左连接和有连接的区别?
多表左连接和右连接的区别?
(1)比如有A,B两个表,左连接用的left join on ,是左表全部显示,右表有关联的数据关联显示、没有关联的数据显示null;格式:select * from a left join b on a.关联字段=b . 关联字段;
右连接用的right join on ,是右表全部显示,左表有关联的数据关联显示、没有关联的数据显示null;格式:select * from a right join b on a.关联字段=b . 关联字段;
(2)内连接inner join on ,是左表与右表有关联的数据关联显示、没有关联的数据不显示;格式:select * from a inner join b on a.关联字段=b . 关联字段;
8、参考复习连接
单表:https://www.cnblogs.com/xiaolehua/p/13970861.html
多表:https://www.cnblogs.com/xiaolehua/p/13970872.html
视图:https://www.cnblogs.com/xiaolehua/p/15714709.html
索引:https://www.cnblogs.com/xiaolehua/p/15715180.html
存储:https://www.cnblogs.com/xiaolehua/p/15716474.html
事务:https://www.cnblogs.com/xiaolehong/p/16906249.html
三表:https://www.cnblogs.com/xiaolehua/p/15711102.html
9、三表连接:
1、三表隐藏内连接
格式:select * FROM 表1 ,表2,表3 where 表1.关联字段=表2.关联字段 and 表2.关联字段=表3.关联字段 ;
案例:select * FROM student a,sc b,course c where a.stu_no=b.stu_no and b.c_no=c.c_no ;
2、三表普通内连接
格式:select * FROM 表1 inner join 表2 on 表1.关联字段=表2.关联字段 inner join 表3 on 表2.关联字段=表3.关联字段 ;
案例:select * FROM student a INNER JOIN sc b on a.stu_no=b.stu_no INNER JOIN course c on b.c_no=c.c_no ;
3、三表左连接
格式:select * FROM 表1 left join 表2 on 表1.关联字段=表2.关联字段 left join 表3 on 表2.关联字段=表3.关联字段 ;
案例:select * FROM student a left JOIN sc b on a.stu_no=b.stu_no left JOIN course c on b.c_no=c.c_no ;
4、三表右连接
格式:select * FROM 表1 right join 表2 on 表1.关联字段=表2.关联字段 right join 表3 on 表2.关联字段=表3.关联字段 ;
案例:select * FROM student a right JOIN sc b on a.stu_no=b.stu_no right JOIN course c on b.c_no=c.c_no ;
5、先合两个表,在合另一张表格式:select * from (select 字段名 FROM 表1 right join 表2 on 表1.关联字段=表2.关联字段 )别名,表3 where 合表.关联字段=表3.关联字段
案例:select * from (select a.stu_no,stu_name,sex ,age ,edit ,sc_no ,c_no ,score FROM student a right JOIN sc b on a.stu_no=b.stu_no)s ,course c where s.c_no=c.c_no ;
6、把三表单成单表理解
(SELECT b.,c. FROM sc a,student b,course c WHERE a.stu_no=b.stu_no AND a.c_no=c.c_no)s 当成单表
select * from (SELECT b.,c. FROM sc a,student b,course c WHERE a.stu_no=b.stu_no AND a.c_no=c.c_no)s