非技术出身的产品经理,学会SQL也挺简单的

6 评论 14536 浏览 88 收藏 9 分钟

编辑导语:产品经理经常需要提取一些数据进行分析,除了用埋点的办法之外,还可以学习SQL的方法进行数据提取;本文作者分享了自身经验,关于如何学会SQL的详细过程,我们一起来看一下。

在上篇文章:实践复盘:产品经理该怎么写埋点文档?,讲了我是如何在小公司从 0-1 做的埋点,也是我这半年多实践的复盘。

不过,埋点最大的限制不是怎么做,而是公司的业务是否需要,以及是否有做和维护它的资源。

那么如果没有埋点,产品经理该如何提取数据,进而做分析呢?

那自然是在数据库,通过写 SQL 来做了。

接下来,我会分享自己从 0-1 学写 SQL 的心得,希望对你有所启发。

一、怎么连接数据库?

我们用的 Navicat Premium 这款软件,它是一款数据库管理工具,用它连接后,你可以从中看到各种数据的详细信息。

不同公司会有不同的习惯,主要是看开发团队用什么,后面我也主要用 Navicat 做讲解。

但不管你们公司用什么,一定要找对人来帮忙,千万别闷头自己捯饬。

工作中做事情讲究的是效率,达成目的并取得结果,不要不要意思去问。

只要你提前想清楚:你要什么?结果是什么?那就可以了。

回到数据库这件事,我们公司是由服务端开发和测试 leader 负责数据库的维护。

对方告诉我需要下载并安装软件,以及邮件转发给我了地址、账号、密码、端口后,只需要一步步照着做就行。

二、从 0-1 上手 SQL

回到我自己学 SQL 的目的,主要还是为了拉取数据。

因此我绕开了看书、报课这种系统学习的方式,看了几篇文章搞懂个大概之后,就直接上手练习。

做事不要太死板,要以最短的路径达成自己的目的。

大家可以用sqlteaching的网站,边学边练;虽然是英文的,但也不是很复杂,况且咱们可以用谷歌的自动翻译不是。

从学习到上手大概花了 2 天左右,接下来就投入到 Navicat 开始实操了。

1. Navicat 长什么样?

下图是我找了个网图,这就是 Navicat 查询部分的全貌。

对于产品经理来说,只需要关注我上图标注的几个地方就行,其他的可以不用管。

如果用上,那就直接去请教开发。

一杯奶茶、一顿火锅,开发就是你的老师。

这里多提一句,不要担心自己瞎操作会影响数据库,你拿到的只有访问和查看权限而已。

2. 刚开始写,一定会遇到各种问题

相信我,无论你准备的有多充分,在实际上手的时候一定会遇到各种问题,举我的两个例子:

1)不熟悉表结构,不知道要查的数据存在哪个表里

这个没办法,遇到就去问开发吧,集中询问或者换着问都可以。

事后也就是一杯奶茶的事情,只要你带着虚心的态度去,你会发现开发是很好相处的。

2)写的 SQL 无法运行,自己还找不出问题

先保存第一版 SQL ,然后捋捋思路重新写一遍。

如果还是报错,那就放弃吧,集中在午休前和下班前找开发帮忙看一遍。

不要让他们直接写给你,而是让他们帮忙看看你写的哪有问题。

因为我发现,开发总会以一种神奇的、你没见过的方式写出一串 SQL ,然后能运行出来结果,但这显然不是你能学会的。

总之,要多向开发请教,同时记录自己的问题,复用自己写的 SQL ,很多问题都是相同的。

下图是我在 Notion 上整理的思路,让每一次实践成为你的经验,你才能获得持续的成长。

工具类的技能没有别的技巧,就是投入实践中遇到问题,解决问题。

三、SQL 只是手段,重点是你要解决什么问题?

做事情,一定要三思而后行,谋定而后动。

核心是为了避免后期返工,浪费自己的时间。

因此,在用 SQL 查询之前,我会从:业务场景 → 业务问题 → 数据支持 → 验证指标,进行分析思考,并将它写出来,如下图:

以上 4 个维度是我习惯用的,这里也只是给大家提供一个思路,核心还是「想好再做」。

然后,就是用幕布梳理我要的表头是什么,然后是需要哪些表,最后是表与表之间连接的键是哪个,如下图所示:

我来简单解释下上图:

  • 列表:就是你想查询字段,可以理解成列表的表头。
  • 表:逗号前是表的名称,逗号后是要查询的字段,以及表与表关联的字段。至于颜色,是表与表之间连接的字段,也就是「主键(key)」。
  • 范围:就是你要查询数据的范围。

以上就是对上图的说明,之所以这样做,主要是我多表联查出错率比较高。

为了避免修正浪费时间,不如明确了再做更省时间和精力。

不返工,就是最大的省时。

最后的查询的语句如下图:

以上就是 SQL 查询的全流程,再往后就是导出到 excel 做二次处理,或者是数据透视了。

毕竟,数据库提供的主要还是「查询」功能,「分析」诉求还是要在 excel 上来做。

四、写在最后

以上是我学习 SQL,到能使用的全流程,之后就是不断的实践,提升自己的熟练度。

说实话,作为非技术出身的我,原本也是很恐惧、很抵触这些。

但真正学下来,发现其实也没这么难,反而觉得很有意思。

其实,很多事情本身没那么难,只是恐惧和懒惰在作祟罢了。

希望我的这篇文章,能引导你迈出第一步,那也是极好的~

 

作者:空;公众号:小木盒产品记

本文由 @空 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自 Unsplash,基于 CC0 协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 感谢分享

    来自浙江 回复
  2. 向你学习与取经!

    来自广东 回复
  3. Navicat Premium与MySQL功能是一样的吗?哪个好用一些?

    来自浙江 回复
    1. 用起来都差不多,还是要看公司用什么~

      来自浙江 回复
    2. 这个软件傻瓜式安装,不用配置很多环境,用起来都一样的呀

      回复
    3. mysql是数据库,navicat是数据库的管理软件,功能肯定不一样啊。MySQL的管理软件windows平台推荐sqlyog。

      来自福建 回复