目录
产品运营者,经常会在获取分析时,获取不同维度的数据感到恼火。在产品运营不会一些基础查询技术的前提下,每天打交道最多的就是开发部,因为不会查询相关的技术,导致一有一些问题就要去开发部。其实,产品运营者,完全有理由学习一些基础SQL来增加效率,比较老是跑去开发部,整的大家都上火。
一小时速成,掌握基础命令。先来了解了解这些东西都是什么?
MSSQL、MySQL和SQL都是什么意思?
在开发部听的最多的就是:“需要用MySQL查询”,有时又说,“写个SQL查询语句”,那么这两个是同一个东西吗?
首先,我们需要科普三个名词:
SQL:指一种结构化查询语言,用于访问操作数据库。
MSSQL:微软的SQLServer数据库服务器。多用于.NET程序
MySQL:是瑞典 MySQL AB 公司推出的关系型数据库管理系统(目前属于 Oracle 旗下公司。),是开源的,多用于PHP网站程序的开发。
那么,可以得知SQL是一种语言,而SQL Server和MySQL都是使用SQL语言的数据库管理系统。其中MySQL是开源的,因此被更多程序员采用。
SQL做什么?
增删查改
而对于产品运营来说,最主要的就是查。
多数公司都不会给予数据库的最高权限,因为数据库里的东西都涉及公司的产品业务。因为不懂技术而误操作导致整个公司停摆的事情比比皆是,所以操作数据库都不会给不懂技术的人。
实力雄厚的公司,会给产品运营开发一套专门的工具,专门用来查询数据。
在不确定的前提先,千万不要进入数据库胡乱操作,不然会带来法律责任。
一、连接数据库、了解表结构
(1)Navicat软件(一款MYSQL数据库管理软件),网上有相关安装程序可以下载,一般都有注册码。
(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等网站上查看更全面的教程。