--- star: true title: 2023年最值得收藏的MySQL学习路线(建议收藏🔥) shortTitle: MySQL学习路线 category: - 学习路线 tag: - 学习路线 description: MySQL学习资料 | 学习路线 | 注意事项,MySQL需要学什么 head: - - meta - name: keywords content: MySQL,学习路线,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](https://www.bilibili.com/video/BV1UE41147KC) ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-370c309d-b3f6-4d68-917a-4069ebc7a600.png) ### 书籍 书的话,有两本,一本是《[SQL 必知必会](https://book.douban.com/subject/35167240/)》,一本是《[SQL基础教程(第2版)](https://book.douban.com/subject/27055712/)》,任选一本即可。 ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-9d645bf3-fe62-47bd-bfe3-bd31d4987d5a.png) ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-ff3e8536-4690-4b60-8e69-27e641c9ea39.png) ## 第二阶段:入门 MySQL SQL 学完,再学 MySQL 就会更加丝滑,学习曲线会平滑一些。 ### 视频 视频的话,可以在B 站上搜 MySQL 关键字,基本上各大培训机构都有公开的视频课,课程质量也不错。随便挑一个自己喜欢的跟着学就对了。 如果是声控的同学,推荐尚硅谷宋红康老师的《**MySQL数据库教程天花板,mysql安装到mysql高级,强!硬!**》,视频涉及到的内容数据库概述和 MySQL 的安装、SQL 之 select 使用、SQL 之 DDL、DML、DCL 使用、(视图、存储过程与函数、变量、流程控制、游标、触发器)等等内容。 有同学对这门视频的评价是声音要听起来比较容易勾起学习的欲望,所讲的内容要比较容易消化吸收。 >视频地址:[https://www.bilibili.com/video/BV1iq4y1u7vj](https://www.bilibili.com/video/BV1iq4y1u7vj) ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-4c9d7851-9563-4864-b565-1e28a657b160.png) 如果喜欢女老师上课的话,推荐尚硅谷的另外一门课《**MySQL基础教程丨mysql数据库实战**》视频课,一共 178 集,基本上覆盖了 MySQL 的核心技术点,包括数据库和表的常用操作、约束、视图、存储过程等内容。不过,这个视频的录音质量真的是不太高,建议大家不要带耳机来修这门课。 >视频地址:[https://www.bilibili.com/video/BV1xW411u7ax](https://www.bilibili.com/video/BV1xW411u7ax) ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-f8c57aad-669e-4980-93ed-b4e78bc87cd2.png) 如果想突击 MySQL 的话,推荐《**老杜带你学_mysql入门基础**》,据说 3 天就能学完,一共 151 集,有同学对课程进行了总结提炼,这里也贴一下博客地址: >博客地址:[https://blog.csdn.net/weixin_43896929/article/details/120750965](https://blog.csdn.net/weixin_43896929/article/details/120750965) >视频地址:[https://www.bilibili.com/video/BV1Vy4y1z7EX](https://www.bilibili.com/video/BV1Vy4y1z7EX) ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-32720432-9269-4b99-929a-b359afa96c04.png) ### 书籍 书籍的话,推荐《[MySQL 是怎样使用的、快速入门 MySQL](https://book.douban.com/subject/35670862/)》、《[MySQL 必知必会](https://book.douban.com/subject/3354490/)》,任选一本就可以。 ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-3cb6a898-977f-4586-8e78-0246c322855c.png) ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-9d5db75f-10c8-464e-bbd4-35a79785cd61.png) 《MySQL 是怎样使用的、快速入门 MySQL》这本书在掘金上也有[小册](https://s.juejin.cn/ds/MDPeuBk/),如果购买过这本小册的话,也就不用再购买纸质书了。 ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-22571cf9-8058-4613-b8df-9dd5cdfcb47b.png) ### MySQL 学习建议 一定要在本机上把 MySQL 数据库先安装了,直接通过 MySQL 官网下载,建议安装 MySQL 5.7 以上版本。 >[https://dev.mysql.com/downloads/mysql/](https://dev.mysql.com/downloads/mysql/) ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-10f00d3a-2cbb-4ba7-8c1f-526391de2b36.png) 安装完成后,记得安装可视化工具:**Navicat**,方便操作。 ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-f0e569b0-5c8d-4387-87cd-f5df64e218cd.png) 星球里分享过 macOS 的 Navicat 破解版: >[https://t.zsxq.com/04eMf6AMZ](https://t.zsxq.com/04eMf6AMZ) Windows 的话,在 二哥的Java进阶之路上分享过破解方法: >[https://javabetter.cn/nice-article/itmind/navicatzxbwindowspjbjc.html](https://javabetter.cn/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](https://www.nowcoder.com/ta/sql) ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-dfdb957f-ff78-42e5-aae5-758d84852e46.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](https://book.douban.com/subject/36096578/)》、《[MySQL 是怎样运行的:从跟上理解 MySQL](https://book.douban.com/subject/35231266/)》、《[MySQL技术内幕:InnoDB存储引擎](https://book.douban.com/subject/24708143/)》。 《高性能 MySQL》出到了第四版,和第三版比,删除了不少内容,更精简了。 ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-af4eafb6-7a37-4931-8aac-dc44bcabfb82.png) 《MySQL 是怎样运行的:从跟上理解 MySQL》这本书真不错,评价非常高。全书分为四个部分,第一部分(1-3 章),主要就是普及 MySQL;第二部分(4-9 章)是全书的基础,介绍了 InnoDB、索引、B+树;第三部分(10-17 章)主要介绍了工作中常用到的查询优化,比如说单表查询是如何执行的,连接查询是如何执行的,以及如何查看 explain 语句的执行结果;第四部分(18-22 章)介绍了事务、redo 日志、MVCC、各种锁的细节。 ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-018bba71-529c-41ff-8622-60439fec0b50.png) 《MySQL 是怎样运行的:从跟上理解 MySQL》这本书在掘金上也有[小册](https://s.juejin.cn/ds/MDfcwNb/),购买过的可以不用再购买纸质书了,内容差不多。 ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-675d507a-f05b-4f53-9c7e-9394502a6576.png) 《MySQL技术内幕:InnoDB存储引擎》这本书详细介绍了 MySQL 的系统架构和各种各样的存储引擎,非常顶的一本书。强烈推荐2、4、5三章。 ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-f0631706-60e8-473e-89e9-04ea5fc0dccd.png) ### 付费课程 极客上的《[MySQL 实战 45 讲](http://gk.link/a/11Gcp)》评价挺高的,可以看看。一共分为两部分,基础篇(深入浅出地讲述了 MySQL 的核心知识、以及 MySQL 的基础架构、日志系统、事务隔离、锁等内容)和实践篇(结合一个个关键的数据库问题触发,分析数据库原理并给出实践指导)。 ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-5338019d-a197-4438-8c0e-934a45794d91.png) >星球同学可以到星球的百度网盘里取,地址在《二哥的Java进阶之路》知识星球的[置顶链接](https://t.zsxq.com/07N3NbmEe)里。 学完以上这些,MySQL 的能力基本上会有质的飞跃,也就会有一种豁然开朗的感觉。当然,这部分学习起来十分吃力,主要是很多内容没有实际的应用场景。但最起码有个印象,万一用到了,再系统的翻翻书,看看网上的案例就会好很多。 有备无患嘛。 ### 官方文档 英文能力比较强的球友,可以试读一下 [MySQL 的官方文档](https://dev.mysql.com/doc/)。 ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-eb464848-e5d9-4611-8b32-2fe799e7ca68.png) ## 第四阶段:面试突击/实战运用 学习可以是功利性质的(当然也可以是因为纯粹的热爱),如果不是为了高薪,我们又何苦学这么多呢? 那既然学了 MySQL,就要检验学习成果,怎么检验呢? 准备面试的同学可以刷一波《[面渣逆袭 MySQL 篇](https://javabetter.cn/sidebar/sanfene/mysql.html)》,准备和面试官来回拉扯哈。 星球用户可以在星球的[知识图谱](https://t.zsxq.com/04FuZrRVf)里获取 PDF 版本。 ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/xuexiluxian/mysql-2aecc2a4-febb-4403-a4ce-d5656c879d3b.png) 准备升职加薪/跳槽的同学,那就一定要在实际的工作当中加以运用,不然很可能学完一段时间就忘记了。 ---- GitHub 上标星 9000+ 的开源知识库《[二哥的 Java 进阶之路](https://github.com/itwanger/toBeBetterJavaer)》第一版 PDF 终于来了!包括Java基础语法、数组&字符串、OOP、集合框架、Java IO、异常处理、Java 新特性、网络编程、NIO、并发编程、JVM等等,共计 32 万余字,可以说是通俗易懂、风趣幽默……详情戳:[太赞了,GitHub 上标星 9000+ 的 Java 教程](https://javabetter.cn/overview/) 微信搜 **沉默王二** 或扫描下方二维码关注二哥的原创公众号沉默王二,回复 **222** 即可免费领取。 ![](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/gongzhonghao.png)