产品运营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协议。