产品经理必知必会的SQL


产品经理日常工作中,需要了解用户使用产品的情况日活(DAU)/月活(MAU),了解某个页面某个按钮的点击率、转化率,或者开会需要汇报某些数据、指标,或者需要通过数据分析精细化运营方案,等等,这些工作就要求产品经理需要快速获取到产品数据。

如果产品经理能够熟练使用SQL语句对数据库进行增、删、改、查操作,可以提高工作效率,无需每次都去麻烦开发同学,自己一两分钟的事情,十分高效。

sql语言与MySQL、数据库之间的关系,这些概念之间的关系用下面这张图可以表达:

产品经理需要要掌握的sql知识,快速获取到产品数据,数据库和数据库管理系统之间的区别,怎么连接数据库,产品经理需要会写的SQL语句

sql只是语言。企业常用的数据库有3类,分别是sql server、MySQL、oracle,三者都可用sql语言进行操作。MySQL安装简单,轻量,基本满足日常的使用和操作,适用范围比较广。

数据库(DB)和数据库管理系统(DBMS)之间的区别

数据库:为某种目的而组织起来的记录和文件的集合。更通俗的理解,是由一张张表构成。

数据表:其实就是一个二维表,表中一列一列的就是字段。如下表:

产品经理需要要掌握的sql知识,快速获取到产品数据,数据库和数据库管理系统之间的区别,怎么连接数据库,产品经理需要会写的SQL语句

数据库管理系统(DBMS):是指在计算机中对数据库进行定义、描述、建立、管理和维护的系统软件。我们日常说的MySQL、Oracle都属于数据库管系统。
怎么连接数据库? 我现在用的是 Navicat Premium 这款数据库管理工具,用它连接MySQL数据库后,可以从中看到各种数据的详细信息。 不同于mysql、sql server和Oracle等数据库,大概相当于,Navicat只是一个水龙头,而MySQL就是自来水供水系统。 

产品经理需要要掌握的sql知识,快速获取到产品数据,数据库和数据库管理系统之间的区别,怎么连接数据库,产品经理需要会写的SQL语句

找开发同学询问如何连接数据库,拿到地址、账号、密码、端口后等信息,填入下图:

产品经理需要要掌握的sql知识,快速获取到产品数据,数据库和数据库管理系统之间的区别,怎么连接数据库,产品经理需要会写的SQL语句

连接数据库之后,在Navicat界面,我们主要关注的几个地方就是下图箭头标红的区域:

如果刚连接数据库,不熟悉表结构,不知道要查的数据存在哪个表里,直接问开发同学吧,集中询问或者换着人问都可以。

产品经理需要会写的SQL语句:

新增:insert into,向数据库表中插入、新增数据
查询:select,从数据库表中获取数据修改:update,更新、修改数据库表中的数据条件查询:where ,从数据库按规定标准查找数据条件查询:and…or… , 使用运算符对基于一个以上的条件查找数据删除:delete from(一般不涉及),从数据库表中删除数据注:删除和创建使用较少,一般,产品经理主要是对数据库进行查询和数据导出。

1. INSERT INTO语句


INSERT INTO 语句用于向表格中插入新的行。举例

INSERT INTO cc_clnt (clnt_type, Area) VALUES ('online', 'hk')

解释:在 cc_clnt 表中插入 clnt_type 为 online, Area 为 HK 2个值。

2. SELECT语句

SELECT 语句用于从数据库中选取数据。举例:

select enty_seq from cc_clnt where clnt_id='0123456';

解释:在表 cc_clnt 中查找 clnt_id 为 0123456 的 enty_seq 值为多少。假设查询结果为 88888 。

3.UPDATE语句

Update 语句用于修改表中的数据。举例:

UPDATE cc_login SET PWD='123456' where enty_seq =83888;;

解释:修改 cc_login 表中 enty_seq 的值为 88888 这条记录的 PWD值为 123456

4.WHERE 子句

WHERE 子句用于提取那些满足指定标准的记录举例:

select enty_seq from cc_clnt where clnt_id='0123456';

解释:where后面的 “clnt_id 为 0123456 ” 就是规定条件,按照这个条件来查找enty_seq 值为多少 。

5.AND…OR… 运算符

AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。举例:

SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')AND LastName='Carter'

解释:在 Persons 表中查找firstname是 Thomas或者William ,且lastname为 Carter 的 值。

sql语句书写规则:

1)语句以英文 ;结尾(半角符号)2)不区分关键字的大小写,SQL 对大小写不敏感3)表名与列名不区分大小写4)输入符号的时候只能用英文5)列名不能加单引号