想进大厂?MySQL不会可不行呀,小树懒给大家准备了面试的一些问题,今天就先来说基础篇。接受挑战吧,看看你能坚持到哪里?
MySQL是一种开源的关系型数据库管理系统,其服务器速度快、可靠性高,扩展性强,且易于使用。
在select后加distinct关键字去除重复记录。distinct关键字只能出现在所有字段的最前面,如果有多个字段,联合起来去重。如:select distinct deptno ,job from emp;代表的是对deptno ,job都一样的记录进行去重
在MySQL中,多表连接的语法格式如下:
SELECT <查询列表>
FROM <表名1> [连接类型]
JOIN <表名2> ON <连接条件>
WHERE <查询条件>
其中连接类型有三种:
左连接
右连接
内连接
多表连接往往要通过表之间的物理外键(或者逻辑外键)进行关联查询。
区别:
Inner join 内连接,在两张表进行连接查询时,只保留两张表中完全匹配的结果集
left join 在两张表进行连接查询时,会返回左表所有的行,即使在右表中没有匹配的记录。
right join 在两张表进行连接查询时,会返回右表所有的行,即使在左表中没有匹配的记录。
(1)类型
从类型上来说,mysql是关系型数据库,redis是缓存数据库
(2)作用
mysql用于持久化的存储数据到硬盘,功能强大,速度较慢,基于磁盘,读写速度没有Redis快,但是不受空间容量限制,性价比高
redis用于存储使用较为频繁的数据到缓存中,读取速度快,基于内存,读写速度快,也可做持久化,但是内存空间有限,当数据量超过内存空间时,需扩充内存,但内存价格贵
(3)需求
mysql和redis因为需求的不同,一般都是配合使用。
需要高性能的地方使用Redis,不需要高性能的地方使用MySQL。存储数据在MySQL和Redis之间做同步。
优势:创建索引可以大大提高系统的性能。
劣势: