作者:luanhz

来源:小数志

导读

一直认为,扎实的SQL功底是一名数据分析师的安身立命之本,甚至可以称得上是所有数据从业者的基本功。当然,这里的SQL绝不单单是写几条查询语句那么简单,还包括数据库本身的DDL、DCL、查询调优和锁机制等等也都是要很熟练的;甚至再进一步外延,数据仓库也可作为进阶要求。

随着近期SQL用的越来越少,感觉有必要总结下一年来自己在SQL方面的学习历程,以资借鉴。

个人SQL学习之路是以最为广泛使用的数据库之一——MySQL为对象展开学习的,下面主要从书籍、视频、刷题和文档4个部分展开介绍,这4个部分本身并无先后之分,甚至是会有经常性交叉和重复,唯有多源资料相互促进、不断深化,方可温故知新。

01 书籍篇

实际上,在这个信息爆炸的时代,传统意义上的教材在学习一门新知识过程中的所占比重正变得越来越弱,相较于文字的生涩和古板,很多初学者可能更习惯于看一套视频教程来得真切。但即便如此,有些经典书籍仍然是值得提倡和翻阅的。这里介绍两本MySQL经典书籍,《MySQL必知必会》、《高性能MySQL》,前者适合建立学习SQL之初的总体框架,后者适合具备一定SQL基础之后的提高。

MySQL入门经典

MySQL进阶必备

两本书都堪称是经典,其中前者是图灵必知必会系列丛书之一,还有很相近的SQL必知必会;后者是REILLY动物书系列之一,从其封面图中的那只鹰就可以感受到本书对MySQL性能要求的犀利程度。作为教材中的经典,两本书的缺点也很是显而易见:那就是较为古老,时效性差。例如,MySQL必知必会是出版于2009年,那时的MySQL版本大概是5.1,刚好是SUN公司收购MySQL之后不久;而高性能MySQL经典版本是2013年的第三版,这也是市面最为流行的版本,个人所学也是这一版,对应MySQL5.5,还是相对较新的。所以,在学习两本书的过程中也要注意甄别版本之间的区别。注:当前MySQL最新版本是8.0。

两本书的定位:必知必会适合通读,侧重迅速建立数据库知识框架;高性能MySQL适合专题学习,用于进阶深入不断精进技术。

02 视频篇

在学完MySQL必知必会建立基本知识框架之后,就可以找一门视频教程专项学习了。实际上,在学习一门新知识之初看视频可能是更为高效的方式,但在入门之后再看视频则不再合适,而应追求高质量的专题研讨甚至学术论文。

学习视频教程有众多渠道,但个人首先推荐B站,不得不感谢这个曾经是二次元为主的视频站点,如今竟然成了一个优秀的学习平台。上面有大量的开源盗版视频教程,有的是培训机构的录制视频,也有一些技术大佬录制的教程。难说哪个视频最好,个人推荐某谷的一套完整教程《MySql基础+高级全套视频教程(共241集)》,视频非常齐全,共241集累计37个多小时,但个人感觉是讲解较为通俗和全面的。很多知识点当时可能不甚理解,但在后续复习中往往会有新的理解和认知,一套教程下来基本上涵盖了MySQL入门和进阶,非常值得二刷、三刷。

B站某MySQL教程

03 刷题篇

纸上得来终觉浅,绝知此事要躬行。当看书和刷视频到一定程度之后,就应该用刷题来检验所学深浅了。实际上,刷题虽然被很多人所不耻,但却不得不承认这是最能短时间快速学习和掌握新知识的方式。个人在MySQL中也找了很多渠道,比较值得推荐的是以下4个:

  • 互联网广泛流传的MySQL经典50题。实际上,也不知最初源于何处或者出自何方高人,但这50题确实是经常可见,实际拿来练手也会确有收获。由于50题没有平台收录,所以需要自己在本机搭建好MySQL环境,并将样例数据建表写库,而后即可在本机畅快的刷题了。经典50题的定位整体还是入门级,部分题目会有些拔高,好在网上各种答案比较丰富,真正完整刷一遍相信已经会是入门级水平了

  • SQLzoo:这是一个支持多语言的SQL练习平台,定位也是偏入门级,会系统按照MySQL的各大关键语法进行分章练习(例如比照MySQL必知必会中的章节划分),题目循序渐进,有的题目还会给出基本的SQL语句样例,回答正确后会提示笑脸,回答错误时会给出简单的错误描述,例如返回记录过多等,必要时还可提前查看下正确答案应有的样子,还是比较贴心的

SQLzoo简单的错误提示

  • 牛客网:一共60+题,主要是查询题目,也有少数题目考察其他语法。实话说,在推荐这个SQL刷题平台时,我是比较纠结的,推荐是因为这上面的很多题目还是比较具有代表性和深度,很能启发思维;纠结之处则在于一方面SQL是以SQLite语法作为蓝本,跟MySQL还是有些许区别,另一方面则在于牛客网上面的少数题目理解起来很有歧义,往往是看了他人题解之后才意识到题目是这个意思,而非通常理解的那样。另外,还有个别题目是有字符错误的,orz~

  • LeetCode:之所以把力扣放在最后是有原因的。作为一个程序员刷题网站,力扣在数据库题目方面也是比较丰富的,区分简单-中等和困难3个难度,题目在严谨性和代表性方面也确实比前2个平台都有很大提升。但最大的问题是leetcode中免费可刷的数据库题目太少,在100+题目中,仅有20题左右是免费开放的,所以光靠这20题很难带来SQL能力的实质提升。所以个人当时是刷了几个月的数据结构与算法题、参加每日一题、周赛等活动攒够了积分,换了个7天会员(学知识是不能叫白嫖的),然后突击性的刷了两遍。刷完下来,就感觉SQL能力有了很大提升,至少在面对多重嵌套、临时变量、窗口函数等知识点时不至于束手无策。具体可参考以下几篇文章:

  1. MySQL查询连续打卡信息?

  2. 一文解决所有MySQL分类排名问题

  3. 一句SQL,我有6种写法

  4. 分享几道LeetCode中的MySQL题目解法

刷题之余,自己也不忘把自认比较好的题解分享出来,有的题解还是很受欢迎的。

个人的一道长期TOP1题解

04 文档篇

在互联网这个新知识日新月异的领域,必须经常性的学习跟踪技术前沿才不至于落伍。所以,在MySQL学习路上,最后值得推荐的其实是MySQL官网和官方文档。一部官网记录了MySQL的方方面面,一份官方文档则涵盖了MySQL的所有知识要点。当然,几千页的文档是不可能短期看完的,所以个人也只是针对其中的重点章节仔细研读,例如个人在学习MySQL中的4种隔离级别和不同锁机制时,学习的主要资料就是阅读官方文档。这里不得不感慨老外写的东西还是比较严谨的,虽然是英文文档但理解起来毫无歧义。更重要的是,官方文档实际上才是最为权威的学习资料,而不像网络教程的各种鱼龙混杂:在掺杂了个人理解和三人成虎之后,很多知识点其实是会存在误解的。

实际上,这些仍然仅能称得上是学习SQL路上的冰山一角和万里长征第一步,因为学习的过程本身就是只有进行时而没有完成时。

以上,与各位读者共勉。

---------End---------

关注后回复“w”,加我私人微信

????分享、点赞、在看,给个三连击呗!???? 

一名数据分析师的SQL学习历程相关推荐

  1. 一名数据分析师的Python学习历程

    导读 前期,将自己完整的SQL学习历程尽可能详细的总结了一遍,后台也收到了一些读者的反馈,并私信交流Python的学习历程,恰好这也在个人的计划之中.私以为,相较于SQL这种知识体系相对单一.内容体量 ...

  2. 一名数据分析师到算法工程师的转岗经历

    导读 了解小编的读者应该知道,我在从事了一段数据分析师的工作之后,目前岗位的title已经换成了算法工程师.虽然两个岗位存在很大交集和共通之处,但无论是工作思维还是所需技术栈方面,也都存在很大差异.前 ...

  3. 如何快速入门成为一名数据分析师

    春节期间,很多人来问过数据分析相关的事情,其中不乏一些想转行的同学,其实我挺开心的,说明大家都越来越看好这个行业,由于我自己的偏好,我一般也都会劝大家进入数据分析行业(当然不是无脑吹). 这篇主要是想 ...

  4. 如何成为数据分析师之课程学习篇

    大数据时代已经在悄然间来临了,大数据的飞速发展也为我们提供了更多的工作机会,数据分析师就是其中之一.顾名思义,数据分析师就是对数据进行分析处理,并得出相应结论,从而对企业的发展决策提供帮助的一种岗位. ...

  5. 作为一名数据分析师,都需要掌握哪些工具?

    在身边偶尔会听到别人说做数据分析师,工具不是很重要,重要的是那些软实力,其实这一点我并不敢苟同.俗话说工欲善其事必先利其器,所以工具用的好,其实是可以极大的提升工作效率的.那么作为一名数据分析师,都需 ...

  6. 数据分析师需要重点学习什么技能?

    大家都知道,数据分析师是需要学习很多的知识,大家进行数据分析知识学习的时候需要对数据分析知识有一个清晰的知识体系,重点学习其中的重点知识就能节约时间从而更高效地开始数据分析师的职业成长生涯.那么大家知 ...

  7. 成为一名数据分析师的新手指导(转)

    本文是著名学习网站Udacity的数据分析基础性文章.由于Udacity的就业导向,不同于单纯介绍学习路径,文章还从职业人士的角度讲述数据分析的方方面面.文章同时附有视频,不失为一篇好的介绍文.以下为 ...

  8. 学了很多理论,你为什么还是做不好一名数据分析师?

    点击上方"AI派",选择"设为星标" 最新分享,第一时间送达! 作者:庄东岳:商业数据分析师.钉钉平台数字化管理员.获得省级和国家级比赛奖项.做过省级重点大学生 ...

  9. 华为疯狂扩招3000名数据分析师,招聘要求让人窒息!

    最近后台又收到很多粉丝工作不顺.压力山大的苦水,我总结了一下,主要是这3方面: ▎入行两年,薪资9K,涨薪太难...... ▎熬夜做出来的数据,被各种质疑...... ▎公司裁员,数据分析成了第一批. ...

最新文章

  1. [No000039]操作系统Operating Systems用户级线程User Threads
  2. IDOC实例, Outbound IDOC
  3. 解决phoenix中创建的表名及字段默认是大写的问题
  4. 腾讯NExT Studios万字解读:我们是怎样将一款偏硬核的Roguelike游戏大众化的?
  5. SciencePlots科研绘图
  6. Jmeter之Bean shell使用(二)
  7. 依赖包报错Invalid options object. Less Loader has been initialized using an options object that does not
  8. jquery 简单日历
  9. freemarker导出word 目录_PPT转Word你还用复制粘贴?别笑掉大牙了,这几招教你快速转换...
  10. RabbitMq(十五)消息的追踪查看配置及查看方法
  11. gui界面如何和内核链接 python_专栏 | 除了内核程序,Abaqus还能这样做二次开发...
  12. ubuntu下面如何切换virtual_box的鼠标
  13. 两个或多个线程执行完成之后继续执行之后的步骤,CountDownLatch与CyclicBarrier
  14. Android 获取唯一机器码的代码
  15. jQuery Mobile事件,开发全解+完美注释
  16. bugku-pokergame
  17. Ubuntu server 20.4 配置静态ip
  18. excel取消隐藏_Excel教程:一键取消隐藏工作表
  19. android 照片特效,Android使用Gallery实现照片拖动的特效
  20. linux低级挖矿病毒的查找定位

热门文章

  1. 计算机核心论文实验数据,WIREs | 校准心脏研究的核心计算机模型
  2. 【动态】腾讯利用英特尔硬件开发物联网区块链解决方案
  3. 全球地名中英文对照表(L)
  4. Java 第十一届 蓝桥杯 省模拟赛 反倍数
  5. 优秀CTO修炼之道:向上生长,向下兼容
  6. 致远项目管理SPM系统之合同评审
  7. android内容复制到剪贴板
  8. 小米电视精简系统、删除自带无用软件教程
  9. z山丹培黎学校计算机教材,在山丹培黎学校的往事回忆
  10. C和指针Pointers On C电子书pdf下载