非技术出身的产品经理,学会SQL也挺简单的
编辑导语:产品经理经常需要提取一些数据进行分析,除了用埋点的办法之外,还可以学习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 协议
感谢分享
向你学习与取经!
Navicat Premium与MySQL功能是一样的吗?哪个好用一些?
用起来都差不多,还是要看公司用什么~
这个软件傻瓜式安装,不用配置很多环境,用起来都一样的呀
mysql是数据库,navicat是数据库的管理软件,功能肯定不一样啊。MySQL的管理软件windows平台推荐sqlyog。