2024年最值得收藏的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等等。
书籍
书的话,有两本,一本是《SQL 必知必会》,一本是《SQL基础教程(第2版)》,任选一本即可。
第二阶段:入门 MySQL
SQL 学完,再学 MySQL 就会更加丝滑,学习曲线会平滑一些。
视频
视频的话,可以在B 站上搜 MySQL 关键字,基本上各大培训机构都有公开的视频课,课程质量也不错。随便挑一个自己喜欢的跟着学就对了。
如果是声控的同学,推荐尚硅谷宋红康老师的《MySQL数据库教程天花板,mysql安装到mysql高级,强!硬!》,视频涉及到的内容数据库概述和 MySQL 的安装、SQL 之 select 使用、SQL 之 DDL、DML、DCL 使用、(视图、存储过程与函数、变量、流程控制、游标、触发器)等等内容。
有同学对这门视频的评价是声音要听起来比较容易勾起学习的欲望,所讲的内容要比较容易消化吸收。
如果喜欢女老师上课的话,推荐尚硅谷的另外一门课《MySQL基础教程丨mysql数据库实战》视频课,一共 178 集,基本上覆盖了 MySQL 的核心技术点,包括数据库和表的常用操作、约束、视图、存储过程等内容。不过,这个视频的录音质量真的是不太高,建议大家不要带耳机来修这门课。
如果想突击 MySQL 的话,推荐《老杜带你学_mysql入门基础》,据说 3 天就能学完,一共 151 集,有同学对课程进行了总结提炼,这里也贴一下博客地址:
博客地址:https://blog.csdn.net/weixin_43896929/article/details/120750965
书籍
书籍的话,推荐《MySQL 是怎样使用的、快速入门 MySQL》、《MySQL 必知必会》,任选一本就可以。
《MySQL 是怎样使用的、快速入门 MySQL》这本书在掘金上也有小册,如果购买过这本小册的话,也就不用再购买纸质书了。
MySQL 学习建议
一定要在本机上把 MySQL 数据库先安装了,直接通过 MySQL 官网下载,建议安装 MySQL 5.7 以上版本。
安装完成后,记得安装可视化工具:Navicat,方便操作。
星球里分享过 macOS 的 Navicat 破解版:
Windows 的话,在技术派上分享过破解方法:
破解方法请勿外传,保密就对了。
这个阶段,一定要把基本的 SQL 语句练一练:
- SELECT - 从数据库中提取数据
- UPDATE - 更新数据库中的数据
- DELETE - 从数据库中删除数据
- INSERT INTO - 向数据库中插入新数据
- CREATE DATABASE - 创建新数据库
- ALTER DATABASE - 修改数据库
- CREATE TABLE - 创建新表
- ALTER TABLE - 变更(改变)数据库表
- DROP TABLE - 删除表
- CREATE INDEX - 创建索引(搜索键)
- DROP INDEX - 删除索引
在之后可以到牛客上,把 SQL 相关的练习题刷一波。
如果你是测试人员、业务人员、数据分析岗,或者实习岗,一般掌握到这个成都就可以了。如果你是 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》出到了第四版,和第三版比,删除了不少内容,更精简了。
《MySQL 是怎样运行的:从跟上理解 MySQL》这本书真不错,评价非常高。全书分为四个部分,第一部分(1-3 章),主要就是普及 MySQL;第二部分(4-9 章)是全书的基础,介绍了 InnoDB、索引、B+树;第三部分(10-17 章)主要介绍了工作中常用到的查询优化,比如说单表查询是如何执行的,连接查询是如何执行的,以及如何查看 explain 语句的执行结果;第四部分(18-22 章)介绍了事务、redo 日志、MVCC、各种锁的细节。
《MySQL 是怎样运行的:从跟上理解 MySQL》这本书在掘金上也有小册,购买过的可以不用再购买纸质书了,内容差不多。
《MySQL技术内幕:InnoDB存储引擎》这本书详细介绍了 MySQL 的系统架构和各种各样的存储引擎,非常顶的一本书。强烈推荐2、4、5三章。
付费课程
极客上的《MySQL 实战 45 讲》评价挺高的,可以看看。一共分为两部分,基础篇(深入浅出地讲述了 MySQL 的核心知识、以及 MySQL 的基础架构、日志系统、事务隔离、锁等内容)和实践篇(结合一个个关键的数据库问题触发,分析数据库原理并给出实践指导)。
星球同学可以到星球的百度网盘里取,地址在《二哥的Java进阶之路》知识星球的置顶链接里。
学完以上这些,MySQL 的能力基本上会有质的飞跃,也就会有一种豁然开朗的感觉。当然,这部分学习起来十分吃力,主要是很多内容没有实际的应用场景。但最起码有个印象,万一用到了,再系统的翻翻书,看看网上的案例就会好很多。
有备无患嘛。
官方文档
英文能力比较强的球友,可以试读一下 MySQL 的官方文档。
第四阶段:面试突击/实战运用
学习可以是功利性质的(当然也可以是因为纯粹的热爱),如果不是为了高薪,我们又何苦学这么多呢?
那既然学了 MySQL,就要检验学习成果,怎么检验呢?
准备面试的同学可以刷一波《面渣逆袭 MySQL 篇》,准备和面试官来回拉扯哈。
星球用户可以在星球的知识图谱里获取 PDF 版本。
准备升职加薪/跳槽的同学,那就一定要在实际的工作当中加以运用,不然很可能学完一段时间就忘记了。
GitHub 上标星 10000+ 的开源知识库《二哥的 Java 进阶之路》第一版 PDF 终于来了!包括Java基础语法、数组&字符串、OOP、集合框架、Java IO、异常处理、Java 新特性、网络编程、NIO、并发编程、JVM等等,共计 32 万余字,500+张手绘图,可以说是通俗易懂、风趣幽默……详情戳:太赞了,GitHub 上标星 10000+ 的 Java 教程
微信搜 沉默王二 或扫描下方二维码关注二哥的原创公众号沉默王二,回复 222 即可免费领取。