我想找资料库相关的工作,但是要求都要有SQL代码的工作经验,我没有,但是我目前已经学完了MySQL的理论知识,我该上哪儿去练习我的SQL写代码能力呢?感觉不知道怎么去用才能真正的在面试的时候人家才会觉得我是真的会SQL,有没有什么办法去实践呢?


纸上得来终觉浅,绝知此事要躬行。当看书和刷视频到一定程度之后,就应该用刷题来检验所学深浅了。

实际上,刷题虽然被很多人所不耻,但却不得不承认这是最能短时间快速学习和掌握新知识的方式。个人在MySQL中也找了很多渠道,比较值得推荐的是以下4个:

  • 互联网广泛流传的MySQL经典50题。实际上,也不知最初源于何处或者出自何方高人,但这50题确实是经常可见,实际拿来练手也会确有收获。由于50题没有平台收录,所以需要自己在本机搭建好MySQL环境,并将样例数据建表写库,而后即可在本机畅快的刷题了。经典50题的定位整体还是入门级,部分题目会有些拔高,好在网上各种答案比较丰富,真正完整刷一遍相信已经会是入门级水平了
  • SQLzoo:这是一个支持多语言的SQL练习平台,定位也是偏入门级,会系统按照MySQL的各大关键语法进行分章练习(例如比照MySQL必知必会中的章节划分),题目循序渐进,有的题目还会给出基本的SQL语句样例,回答正确后会提示笑脸,回答错误时会给出简单的错误描述,例如返回记录过多等,必要时还可提前查看下正确答案应有的样子,还是比较贴心的

SQLzoo简单的错误提示

  • LeetCode:之所以把力扣放在最后是有原因的。作为一个程序员刷题网站,力扣在资料库题目方面也是比较丰富的,区分简单-中等和困难3个难度,题目在严谨性和代表性方面也确实比前2个平台都有很大提升。但最大的问题是leetcode中免费可刷的资料库题目太少,在100+题目中,仅有20题左右是免费开放的,所以光靠这20题很难带来SQL能力的实质提升。所以个人当时是充了会员,然后突击性的刷了两遍。刷完下来,就感觉SQL能力有了很大提升,至少在面对多重嵌套、临时变数、窗口函数等知识点时不至于束手无策。

在互联网这个新知识日新月异的领域,必须经常性的学习跟踪技术前沿才不至于落伍。所以,在MySQL学习路上,最后值得推荐的其实是MySQL官网和官方文档。

一部官网记录了MySQL的方方面面,一份官方文档则涵盖了MySQL的所有知识要点。当然,几千页的文档是不可能短期看完的,所以个人也只是针对其中的重点章节仔细研读,例如个人在学习MySQL中的四种隔离级别和不同锁机制时,学习的主要资料就是阅读官方文档。

这里不得不感慨老外写的东西还是比较严谨的,虽然是英文文档但理解起来毫无歧义。更重要的是,官方文档实际上才是最为权威的学习资料,而不像网路教程的各种鱼龙混杂:在掺杂了个人理解和三人成虎之后,很多知识点其实是会存在误解的。

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


网上有好多在线的,提供sql运行环境


自己在电脑上安装MYSQL和Navicat。

网上都有安装教程。

然后可以自己建表,导入excel的数据进行实践。

具体建表和使用方法可以看我另一篇文章

一小时快速入门SQL查询语句


很好的问题,大多数半路出家自学成才的人都会有这种顾虑;

我觉得比较好的办法是自己装上mysql,然后去各种论坛,网站,qq群潜伏,看大家平时提什么问题,然后自己尝试著在本地做实验,模拟建表,写入模拟数据,然后尝试去解决问题,最后看群里大神如何解决的,因为这些提问的人大多数都是实际生产环境中遇到的实操问题,很有价值。


随便安装一个MySQL用起来吧


leetcode和牛客网,上面有sql习题。


推荐阅读:
相关文章