致产品运营人:这项增值技能最值钱!
吴振华 · 501浏览 · 发布于2019-06-11 +关注

产品运营er,你是不是经常因为查询和分析不同维度的数据不便而烦恼?其实一些简单的查询需求,我们是可以通过SQL来做到的。所以,产品运营er还是学点SQL语句写法吧,这样就不用一直去麻烦开发大哥了。

t010e8b82be96b904d1.png


在产品运营人员的日常工作中,经常需要查询和分析不同维度的数据,而现有的数据分析平台未必能满足所有的查询需求,这个时候难免要求助开发大哥。鲜花、赞、抱拳等成为QQ常用表情不说,查询需求多了,还有可能会耽误现有功能的开发。


但其实,一些简单的查询需求,我们完全可以自己用SQL做到。学会了它,不但可以“想什么时候查,就什么时候查”、“想查什么,就查什么”,还可以在CV上加上一句狂拽酷炫叼的“掌握基本的SQL语句,用于日常的业务数据查询及分析”。


而对于学习任何一样东西,实操都是最好的方式,这篇文章,就是手把手教大家,在实际的数据库中,查询工作中需要用到的数据。相信大家通过不到1个小时的时间学习,就能掌握最基础的SQL语句写法。


在开始之前,先让我们科普几个名词。

什么是MySQL?和SQL是不同的东西吗?我们经常会听开发大哥说,“需要用MySQL查询”,有时又说,“写个SQL查询语句”,那么这两个是同一个东西吗?


首先,我们需要科普三个名词:

SQL:指一种结构化查询语言,用于访问数据库。

SQL Server:是Microsoft 公司推出的关系型数据库管理系统。

MySQL:是瑞典 MySQL AB 公司推出的关系型数据库管理系统(目前属于 Oracle 旗下公司。),是开源的。

那么,可以得知SQL是一种语言,而SQL Server和MySQL都是使用SQL语言的数据库管理系统。其中MySQL是开源的,因此被更多程序员采用。


我们可以用SQL做什么?——四个字,增删查改。而对于产品运营来说,最主要的就是查。(千万不要乱增删改,否则从删库到跑路,说的就是你的故事了。)


掌握了以上基本知识,我们就可以不再对着一堆名词眼花缭乱了。

下面,就到实际操作的步骤了,让我们一起来吧。

一、连接数据库、了解表结构

(1)下载Navicat软件,作为开发大哥常用的查询软件,它体积小、操作易上手,网上有免注册的版本,很容易搜到。

(2)打开软件,点击创建新的MySQL连接,问开发大哥要到我们业务数据库的配置方式,包括用户名、账号、密码等。

(3)成功连接,查看看里面的表和数据,这块我们主要关注点有:

点开“表”一列,先粗略看看总有多少个表,内容大概是什么,对于有状态码的字段,可以问开发大哥要一份数据字典来对照理解。

判断常用的表是哪些,一般面向产品运营人员的管理后台都具备数据查询功能,可以以此为依据——如支付系统的后台,肯定有订单查询的功能,那么你可以试着去找找数据库里的订单表对应的是哪一个,和管理后台相比,多了哪些字段。


二、实操阶段

这时我们已经成功的连上了数据库,并对表结构有一定了解,需要做的是根据日常的产品运营需求来查询和统计数据了。

步骤如下:

1. 了解基本的查询语句

前面提到,作为产品运营人员,只需要使用它来“查”即可,而“查”最常用到的就是以下几个单词的组合:

SELECT :用于从具体的表中选取数据,如:

  • SELECT 列名称 FROM 表名称

  • SELECT * FROM 表名称

FROM:同上,与SELECT搭配使用。

WHERE:用于增加查询的限定条件,如:SELECT * FROM 表名称 WHERE 查询条件

AND 、OR:当查询有多个条件时,如需满足其中的一个或多个条件,就使用AND或OR,如想查询4月广东省所有成功订单,那么查询内容就包括广东省和订单状态为成功这两个限定条件:SELECT * FROM 订单表 WHERE 广东省 AND 订单状态=成功

另外,我们还需要了解几个比较符号的基础用法:=(等于),>=(大于等于),<=(小于等于),!=(不等于),>(大于),

2. 整理日常可能用到的数据查询需求

  • 如:

  • 本月新增了订单量及订单金额总数?

  • 本月新增了多少付费用户?

  • 哪个省份的订单量最多?

3. 开始写查询语句

首先,我们需要确认在哪一个数据表来查询数据,以第一条为例,本月新增订单量及订单金额总数,就需要我们从订单表来查询。

这个需求,翻译成查询语句就是:

查找(SELECT) 订购条数,订单金额 从(FROM)订单表条件是(WHERE)本月创建和(AND)订单状态=成功和(AND)订购类型=新增

黑体部分就是需要我们填写的:

  • 订购条数:所有查询条数的基本语句都是:COUNT(1)

  • 订单金额:使用SUM函数表示总数,订单表中金额一项为amount,因此是:SUM(amount)

  • 订单表:订单表的英文名称:pay

  • 本月创建:订单表中创建时间一项为:create_time,时间是4月1日之后,那就是:create_time>’2019-04-01 00:00:00′

  • 订单状态=成功:订单表中订单状态一项为:status,并在对应数据字典查看状态的数字标识,如10000代表成功,则翻译过来就是:status=10000

  • 订购类型=新增:订单表中订购类型一项为:order_type,新增对应的数字标识是:0,翻译过来是order_type=0

因此,这句话的查询语句就是:

SELECT COUNT(1) ,SUM(amount) FROM pay WHERE create_time>’20190401000000′ AND status=10000 和(AND) order_type=0

4. 运行查询语句,大功告成

好了,我们接下来要做的就是验收成果,在Navicat中选择“新建查询”,将我们写好的语句复制进去,就可以得到运行结果了!是不是很简单呢~

后记

上面就是使用SQL写的最简单的查询语句,我们也可以在在菜鸟教程、w3school等网站上查看更全面的教程。

另外,在实际环境中勤加练习,是学习一门技能最快的方法。学会了之后,当我们再有查询需求的时候,就可以不必麻烦开发大哥,而是尝试自己解决问题了。

两个字:棒呆!


相关推荐

五个方面分析如何选择关键词

luenmicro · 934浏览 · 2019-04-26 11:28:14
如何让你广告 1 秒吸引用户注意力?

makebo · 3388浏览 · 2019-04-28 22:03:00
如何更好地提升网站优化四点技巧

makebo · 1219浏览 · 2019-04-29 14:21:19
如何创建有用的内容获得更好的排名?

makebo · 787浏览 · 2019-04-29 14:30:34
加载中

0评论

评论
坐标是江苏.南京,行业是互联网,技术是PHP和java,还有熟悉前后端等。
分类专栏
小鸟云服务器
扫码进入手机网页