MySQL学习路线(附资料)(已完结)
MySQL 学习路线(附资料)(已完结)
MySQL 在校招面试中,被问到的频率非常高;在日常开发中,MySQL 的使用频率也非常
高,几乎是 Java 后端开发必须掌握的技术栈,所以 MySQL 也被二哥归纳到了 Java 后端
四大件中。
第一阶段:SQL
学习 MySQL 之前,先学一手 SQL,对后面学习 MySQL 也会有非常大的帮助。
视频
可以先学习 SQL,推荐中字《10 小时零基础成长 SQL 大师》,虽然是一门国外的课程,
但画面实在是太优美了,必须得推荐啊,尤其对初学者而言,直接入手这个版本能塑造良
好的 SQL 编写思维和逻辑能力。看不懂就多看几遍嗷!
这个视频虽然只需要 10 小时,但讲的内容还是非常全面的,包括 select、where、and、
in、like、order by、limit、inner join、self join、outer join、union、insert、update、
delete、group by 等等。
视频地址:https://www.bilibili.com/video/BV1UE41147KC
a21e2dc1803548166ade9717468dbd8a.png
书籍
书的话,有两本,一本是《SQL 必知必会》,一本是《SQL 基础教程(第 2 版)》,任选
一本即可。
7e8e2128-f8d0-4ed2-83c0-82058a93f1dc.png
7725bdde-e76c-421f-8cfd-52ad23a0e62a.png
第二阶段:入门 MySQL
SQL 学完,再学 MySQL 就会更加丝滑,学习曲线会平滑一些。
视频
视频的话,可以在 B 站上搜 MySQL 关键字,基本上各大培训机构都有公开的视频课,课
程质量也不错。随便挑一个自己喜欢的跟着学就对了。
如果是声控的同学,推荐尚硅谷宋红康老师的《MySQL 数据库教程天花板,mysql 安装
到 mysql 高级,强!硬!》,视频涉及到的内容数据库概述和 MySQL 的安装、SQL 之
select 使用、SQL 之 DDL、DML、DCL 使用、(视图、存储过程与函数、变量、流程控
制、游标、触发器)等等内容。
有同学对这门视频的评价是声音要听起来比较容易勾起学习的欲望,所讲的内容要比较容
易消化吸收。
视频地址:https://www.bilibili.com/video/BV1iq4y1u7vj
8e4bafecde2c4a69aad719c67116c387.png
如果喜欢女老师上课的话,推荐尚硅谷的另外一门课《MySQL 基础教程丨 mysql 数据库
实战》视频课,一共 178 集,基本上覆盖了 MySQL 的核心技术点,包括数据库和表的常
用操作、约束、视图、存储过程等内容。不过,这个视频的录音质量真的是不太高,建议
大家不要带耳机来修这门课。
视频地址:https://www.bilibili.com/video/BV1xW411u7ax
如果想突击 MySQL 的话,推荐《老杜带你学_mysql 入门基础》,据说 3 天就能学完,一
共 151 集,有同学对课程进行了总结提炼,这里也贴一下博客地址:
博客地址:https://blog.csdn.net/weixin_43896929/article/details/120750965
视频地址:https://www.bilibili.com/video/BV1Vy4y1z7EX
6f714f57ff6f449b8d1cf20f7f8b2e76.png
书籍
书籍的话,推荐《MySQL 是怎样使用的、快速入门 MySQL》、《MySQL 必知必会》,任
选一本就可以。
136d041b-8b87-441f-9f1f-324abce3ec68.png
c6a10c85-8a33-4be6-a4d2-6a05b7750e8d.png
《MySQL 是怎样使用的、快速入门 MySQL》这本书在掘金上也有小册,如果购买过这本
小册的话,也就不用再购买纸质书了。
b18f6278-0251-42b8-b537-4382c059d8f1.png
MySQL 学习建议
一定要在本机上把 MySQL 数据库先安装了,直接通过 MySQL 官网下载,建议安装
MySQL 5.7 以上版本。
https://dev.mysql.com/downloads/mysql/
5cd5f779-a0d4-4425-b8ec-dbcb15ad70ae.png
安装完成后,记得安装可视化工具:Navicat,方便操作。
8b2d0545-9740-4431-8f33-5ab45b3137bf.png
星球里分享过 macOS 的 Navicat 破解版:
https://t.zsxq.com/04eMf6AMZ
Windows 的话,在 Java 程序员进阶之路上分享过破解方法:
https://tobebetterjavaer.com/nice-article/itmind/navicatzxbwindowspjbjc.html
破解方法请勿外传,保密就对了。
这个阶段,一定要把基本的 SQL 语句练一练:
• SELECT - 从数据库中提取数据
• UPDATE - 更新数据库中的数据
• DELETE - 从数据库中删除数据
• INSERT INTO - 向数据库中插入新数据
• CREATE DATABASE - 创建新数据库
• ALTER DATABASE - 修改数据库
• CREATE TABLE - 创建新表
• ALTER TABLE - 变更(改变)数据库表
• DROP TABLE - 删除表
• CREATE INDEX - 创建索引(搜索键)
• DROP INDEX - 删除索引
在之后可以到牛客上,把 SQL 相关的练习题刷一波。
https://www.nowcoder.com/ta/sql
e3fed645-393b-4e38-8b7b-d981beed8791.png
如果你是测试人员、业务人员、数据分析岗,或者实习岗,一般掌握到这个成都就可以
了。如果你是 Java 后端开发人员,或者 DBA,那就要往进阶层面走了。
第三阶段:进阶 MySQL
面试造火箭,工作拧螺丝,虽然日常开发中,大部分人也就写写 SQL 就行了,但不好意
思,面试中(或者你想成为 MySQL 方面的专家)99% 的情况下,还是会被问到原理的,
比如说索引、锁、日志、引擎等。
举一些例子:
1、一条 SQL 是如何执行的?也就是说,从 MySQL 客户端执行了一条 SQL 语句,MySQL
服务端会进行哪些处理。
2、索引相关:索引是如何实现的?MySQL 的索引采用的哪种数据结构?哈希索引和 B+
树索引的区别是什么?
3、事务相关:事务的四大特性是什么?什么是幻读、脏读、不可重复读?、MVCC 了解
吗?怎么实现的?
4、锁相关:表锁、行锁、意向锁、乐观锁、死锁,这些锁主要是用来解决什么问题的?
5、日志相关:MySQL 日志文件有哪些?binlog 和 redo log 有什么区别?redo log 是怎么
刷入磁盘的呢?
6、高可用/性能相关:数据库读写分离了解吗?读写分离是如何实现的?主从复制的原
理了解吗?分库分表了解吗?
7、SQL 优化相关:慢 SQL 如何定位?如何优化慢 SQL?
书籍
推荐《高性能 MySQL》、《MySQL 是怎样运行的:从跟上理解 MySQL》、《MySQL 技术
内幕:InnoDB 存储引擎》。
《高性能 MySQL》出到了第四版,和第三版比,删除了不少内容,更精简了。
6e3fe231-803e-4c13-912d-bfb4d372ce2a.png
《MySQL 是怎样运行的:从跟上理解 MySQL》这本书真不错,评价非常高。全书分为四
个部分,第一部分(1-3 章),主要就是普及 MySQL;第二部分(4-9 章)是全书的基
础,介绍了 InnoDB、索引、B+树;第三部分(10-17 章)主要介绍了工作中常用到的查
询优化,比如说单表查询是如何执行的,连接查询是如何执行的,以及如何查看 explain
语句的执行结果;第四部分(18-22 章)介绍了事务、redo 日志、MVCC、各种锁的细
节。
146d5078-f771-4b69-8ce1-26d8594a3918.png
《MySQL 是怎样运行的:从跟上理解 MySQL》这本书在掘金上也有小册,购买过的可以
不用再购买纸质书了,内容差不多。
a1680624-4994-47bd-a47f-7a0e00aebaa5.png
《MySQL 技术内幕:InnoDB 存储引擎》这本书详细介绍了 MySQL 的系统架构和各种各样
的存储引擎,非常顶的一本书。强烈推荐 2、4、5 三章。
b1d5c5e7-eccc-4d57-99e6-e10ea2439b86.png
付费课程
极客上的《MySQL 实战 45 讲》评价挺高的,可以看看。一共分为两部分,基础篇(深入
浅出地讲述了 MySQL 的核心知识、以及 MySQL 的基础架构、日志系统、事务隔离、锁等
内容)和实践篇(结合一个个关键的数据库问题触发,分析数据库原理并给出实践指
导)。
5b0619af-f508-44f3-b4b2-3f8693b49322.png
星球同学可以到星球的百度网盘里取,地址在《Java 程序员进阶之路》知识星
球的置顶链接里。
学完以上这些,MySQL 的能力基本上会有质的飞跃,也就会有一种豁然开朗的感觉。当
然,这部分学习起来十分吃力,主要是很多内容没有实际的应用场景。但最起码有个印
象,万一用到了,再系统的翻翻书,看看网上的案例就会好很多。
有备无患嘛。
官方文档
英文能力比较强的球友,可以试读一下 MySQL 的官方文档。
2c10b979-8d35-49c9-8e15-d43fd3ad73f8.png
第三阶段:面试突击/实战运用
学习可以是功利性质的(当然也可以是因为纯粹的热爱),如果不是为了高薪,我们又何
苦学这么多呢?
那既然学了 MySQL,就要检验学习成果,怎么检验呢?
准备面试的同学可以刷一波《面渣逆袭 MySQL 篇》,准备和面试官来回拉扯哈。
星球用户可以在星球的知识图谱里获取 PDF 版本。
ca98bff2-1c65-427b-871f-08dea6311fa2.png
准备升职加薪/跳槽的同学,那就一定要在实际的工作当中加以运用,不然很可能学完一
段时间就忘记了。