致产品运营人:这项增值技能最值钱!

5 评论 5607 浏览 115 收藏 9 分钟

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

在产品运营人员的日常工作中,经常需要查询和分析不同维度的数据,而现有的数据分析平台未必能满足所有的查询需求,这个时候难免要求助开发大哥。鲜花、赞、抱拳等成为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等网站上查看更全面的教程。

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

两个字:棒呆!

 

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

题图来自Unsplash, 基于CC0协议。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 可以说很详细了

    回复
  2. 我桌面还有一本数据库基础。。服务端程序员送的,然鹅我还没学 ➡

    来自广东 回复
    1. 先从最简单的开始,书太厚了容易打击人 😈

      来自广东 回复
  3. 有木有正在学习my sql 的小白 😉

    来自北京 回复
    1. 一起,是产品新手

      回复