MySQL 必知必会
朱晓峰
前摩根大通银行技术部副总裁、系统架构师
17746 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 36 讲
MySQL 必知必会
15
15
1.0x
00:00/08:23
登录|注册

开篇词 | 在实战中学习,是解锁MySQL技能的最佳方法

讲述:朱晓峰大小:7.66M时长:08:23
你好,我是朱晓峰。
工作二十多年来,我一直在和 MySQL 打交道。我曾任摩根大通银行技术部副总裁,带领团队为纽约、东京等分支银行提供数据存储和安全服务。目前,正致力于开发基于 MySQL 的管理信息系统,率领团队为包括国家开发银行、百度在线、北京西站等大型企业在内的客户提供了信息服务,并获得了 11 项软件著作权(比如商业数据管理系统、云 POS 系统等)。
因为具备丰富的 MySQL 开发经验,从 2015 年起,我受聘担任数据应用学院客座讲师,开始制作职业技术培训课程。我和团队开发了一个为期 2 周、30 个课时的 MySQL 入门集训课。我们打破了传统的教学模式,不去讲零碎的知识点,而是借助一个实际项目去讲必备技能,帮助数百名初学者迅速掌握了 MySQL 的基本操作和核心技能。经过 2 周的集中培训,有几十位学生顺利进入谷歌、苹果和亚马逊等公司。
多年的项目开发以及培训经历,让我深刻地认识到,熟练使用 MySQL,对技术人来说变得越来越重要,是我们拿到心仪 Offer 的敲门砖。
要知道,MySQL 的入门门槛非常低,还具有免费、开放源码等优势,可以满足我们的多样化需求,是目前被广泛使用的数据库之一。
看到这里,你可能会问:“我知道学习 MySQL 很重要,也花了很多时间去学习,可是学来学去,还是连最简单的实际问题都无法解决,该怎么办呢?”
别着急,接下来我们就来聊聊高效的 MySQL 学习方法。

为什么学了很多知识,你依然不会用 MySQL 解决实际问题?

很多人刚开始学习 MySQL 时,都会面临一系列问题。
市面上的 MySQL 资料这么多,该怎么挑选呢?
我花了很多时间学习 MysQL,但是最后真的遇到问题时,我发现我根本不知道怎么解决。
我会一些基本的操作,但还是很容易踩到坑里。比如,我曾经把字段设置成浮点数,但我不知道它是不精准的,幸亏领导发现了,不然很可能会给项目带来损失。
我储备了不少面试题,为什么一到面试就卡壳呢?
……
其实,这些问题,本质上都是一个原因导致的:传统的资料都是在讲授一个个零碎的知识点,最多给出一些基础的小练习,让你进行一些简单的训练。所以,很多人花了很多时间去学习,好像懂得了很多东西,但是一遇到真实的项目问题,就会一头雾水,不知道如何用所学的知识去解决实际问题,更没有能力给出完整的解决方案。
我做过项目主管,也长期带团队,深知在工作中,最重要的绝对不是你的知识储备量,而是你解决实际问题的能力但不幸的是,我见过太多面试时表现优异的人,最终却连试用期都过不了。
说到这里,我特别想和你分享一下我曾面试过的一个应届生的故事。
他是一名计算机专业的研究生,讲起 MySQL 数据库的相关知识,他说得非常清楚,也很有条理,所以我对他的期望值特别高。但是,等他真正上手做项目时,我才发现,他的知识都停留在理论层面。
举个小例子,一次,我们需要开发一个餐厅的点餐系统,我就请他做数据库设计。没想到他设计出来的订单表,居然没有包含客户编号,这就导致无法通过关联查询获取客户信息。这样的数据库根本不满足业务的需求,自然是不能用的。
这并不是个例,很多人在谈到某些知识时可以出口成章,但是一遇到真实的商业环境,就会毫无头绪,或者是犯这样那样的错误。
在我看来,正确的学习方法,远比你投入的时间更重要。而实战,就是最高效的方法。
为此,我特意选择了一个连锁超市的实战项目,手把手带你从 0 到 1 走完项目全流程,不仅帮你掌握核心操作,还能让你真正拥有实战能力,能够迅速上手任何一个项目。无论你是刚刚走入职场,想要迅速解锁 MySQL 这项技能,还是对它感兴趣,想要转岗到 MySQL 开发,都可以在这个课程中达到你理想的目标。
之所以选择采用连锁超市的项目,有两个原因。
你对超市这个场景足够熟悉。我们都有去超市购物的经历,会看到货架上摆着玲琅满目的商品,各种各样的促销招牌,还有忙着扫码收银的店员……借助熟悉的场景来讲解,可以最大程度减轻你的理解成本。
超市背后的业务环节非常复杂,产生的数据也多种多样,而 MySQL 是处理这类业务的利器。当我们完整地解决了超市项目中所遇见的复杂数据问题时,你再去做其他任何业务,就可以更游刃有余一些。
总之,我会从实际问题出发,带你学习技术点,让你能举一反三,快速应用在实战项目中。如果用一个公式去概括,就是:项目的实际需求 --> 解决问题所需的知识点 --> 用好这些知识的实战经验
举个例子,超市的商品非常多,这些商品的名称、数量等,必须要被准确地存储、及时地更新,才能保证正常地售卖。这就是真实需求。要解决这个问题,就要用到 MySQL 的数据存储功能,我们就要掌握设计数据表、定义字段等知识,确保数据的存储效率最高以及数据的唯一性,同时减少错误。
不只是数据存储,我会带着你解决连锁超市所面临的一系列实际问题,从商品进货到库存查验,再到店面售卖、会员营销,等等。在这个过程中,我会给你讲解 MySQL 是怎样存储数据的、如何才能高效查询、如何提供经营决策的依据、如何确保数据的可靠性和安全性……
即使你没有数据库的知识基础,也完全不用担心,只要你跟着我的思路,就一定能真正地在短时间内入门 MySQL,拥有解决问题的能力。

这门课是怎么设计的?

说了这么多,课程的具体设计是怎样的呢?我来介绍一下。
课程总共有四个核心模块。
实践篇:我会从项目最基本的数据存储和操作开始讲起,包括创建数据库、数据表、对表中的数据进行增删改查操作、使用函数、表与表之间的关联操作等,帮你快速掌握最基本的用法。
进阶篇:随着用户管理水平的不断提升,对系统的要求也越来越多,越来越复杂,会用到 MySQL 的许多高级功能。我会手把手带你实现这些功能,包括把程序存储在服务器上、利用突发事件来调用程序、在不改变存储结构的前提下创建虚拟表以方便查询,等等。
优化篇:项目投入运营以后,随着数据的积累,性能优化的问题逐步凸显。在这个模块呢,我会给你讲一讲数据库的设计规范,还会带你创建数据模型,帮助你来理清设计思路。同时,我还会讲到提升性能的具体方法。
案例篇:在课程的最后,我会手把手带你从 0 到 1 设计一个连锁超市的信息系统数据库,把前面讲到的知识点都融入到项目设计中,不仅帮你巩固所学的知识,更教会你如何灵活使用。
除此之外,在课程正式开始之前,我会用图片 + 音频 + 视频的形式,带着你安装 MySQL 及必备的图形化管理工具 Workbench。同时,我还特意设置了一个特别放送模块,给你讲解 MySQL 8.0 的新特性、空间定位的方法,以及大厂的高频面试题,帮你轻松拿下面试。
最后,我还想说,MySQL 是一个非常优秀的数据库,里面包含了很多经典的设计思想。虽然现在你不需要掌握得这么深,但是我还是建议你多多体会这些思想,这会让你提前建立起大局观,还可以帮助你从更高的层面去看待所遇见的实际问题。
在这门课程里,我会把我这么多年的经验毫无保留地分享给你,欢迎你来学习这门课,也欢迎你把咱们的课程分享给你的朋友或同事,邀请他们和你一起学习,共同成长。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

这篇文章介绍了学习MySQL的最佳方法,强调了通过实战学习的重要性。作者分享了一个为期2周的MySQL入门集训课程,通过实际项目案例,帮助学习者快速掌握MySQL的基本操作和核心技能。课程设计包括实践篇、进阶篇、优化篇和案例篇,涵盖了数据库基本操作、高级功能、性能优化和实际项目设计。此外,课程还包括MySQL 8.0的新特性、空间定位的方法以及高频面试题的讲解。作者鼓励学习者多体会MySQL中的经典设计思想,以提升整体视野。总的来说,这篇文章为读者提供了一种高效的学习方法,强调了实战学习的重要性,适合想要快速掌握MySQL技能的读者。

2021-03-08100人觉得很赞给文章提建议

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《MySQL 必知必会》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(17)

  • 最新
  • 精选
  • 胖丁
    光说不练假把式,光练不说傻把式,又说又练真把式。

    作者回复: 是这个道理

    2021-03-09
    19
  • giteebravo
    在工作中,最重要的绝对不是你的知识储备量,而是你解决实际问题的能力。

    作者回复: 说的好,MySQL的知识和技能,只有在实际工作中解决了问题,才能体现价值,否则是没有意义的

    2021-03-08
    5
    11
  • dbtiger
    看来又要出现一个现象级的课程了,之前林晓斌的《mysql45讲》给了很多干货很经典。 希望再次捡到钻石!

    作者回复: 谢谢鼓励,我们一定继续努力,让文章更出色。

    2021-03-12
    2
    9
  • 青鸟飞鱼
    老师你好,请教一个问题,MySQL官方一直没有出集群的解决方案,是否有被淘汰的一天,比如现在TiDB,虽然TiDB用户群体是数据量大的。

    作者回复: MySQL官方有NDB cluster的解决方案(https://dev.mysql.com/doc/refman/8.0/en/faqs-mysql-cluster.html),可以看一下。MySQL有自己的特点,用户群体也大,Oracle应该会继续进行维护。个人觉得,MySQL的生命周期还长。

    2021-03-10
    7
  • 徐志斌
    大三了准备实习,希望能从老师这里多吸收些养分快速成长

    作者回复: 课程的内容覆盖了MySQL的大部分知识点,相信对你会有所帮助。MySQL的实践性是非常强的,建议你跟着讲解的内容实际操作,这样会更有收获。

    2021-07-08
    5
  • 耶马
    mysql 这一块是个人比较差的部分,希望跟着老师好好学Mysql,建筑自己的技术壁垒

    作者回复: 加油!!!!!!

    2021-03-13
    3
  • Kyle Liu
    老师想请教一个问题: 如果一个主库后面有3-5个从库, MongoDB 事务可以选择同步到一个、全部、大多数 slave 才标志事务成功,MySQL 在这方面有相应到机制或者策略吗。在设计一些业务时会涉及到CAP之间的取舍,想在这方便听听老师的意见。

    作者回复: 主要还是看业务场景的需要。可以通过参数sync_relay_log、sync_master_info、sync_relay_log_info等控制数据刷新到磁盘的频率。如果对数据一致性要求高,可以设置成binlog传到slave才算事物结束,可是这样对资源消耗太大。可以考虑设置一个可以接受的刷新频率,这样最多损失一个频次的操作,master宕机后,选择接收到binlog最多的slave为master,恢复后,再补上那段丢失的操作。

    2021-03-10
    3
  • lxlaxsh
    数据存储一直是一个系统中最重要的一环,这个没学好其他一切都是空谈

    作者回复: 是的

    2021-11-15
    2
  • giteebravo
    从项目的实际需求出发,到学习解决问题所需掌握的知识点,最后总结出用好这些知识的实战经验,形成自己的最佳实践,这就是解锁专业技能的方法! MySQL 起步,就从这里开始吧!

    作者回复: 讲的很好,我们一起来学习

    2021-03-10
    2
  • JustDoDT
    学会了最全面复杂的超市案例,其他就很easy了。

    作者回复: 同意。超市项目大家都熟悉,容易理解,而业务又足够复杂,学了这样的项目,对我们上手其他项目,会很有帮助的

    2021-03-09
    2
收起评论
显示
设置
留言
17
收藏
60
沉浸
阅读
分享
手机端
快捷键
回顶部