产品经理了解数据库,真的这些就够了!

8 评论 9770 浏览 132 收藏 11 分钟

编辑导语:时常可以在网上看到大家对于产品经理需要懂数据库这个问题进行热议,那我们首先得明白,数据库是什么?数据库有何用处?数据库对产品经理而言是否有加持作用?本文围绕产品经理和数据库展开了讲述,推荐对此感兴趣的伙伴阅读。

大家好,本次我们分享一个在网上热议的话题,那就是产品经理需要懂数据库吗?懂的话需要懂到什么程度?这个仁者见仁智者见智,我觉得学一些简单的数据库知识,确实对产品经理工作有帮助,以下的场景不知道你是不是很熟悉哦!

一、故事导入

小王是公司的产品经理,早上9点他刚坐到工位上,准备开始他的摸鱼半小时,看下互联网新闻,吃个早餐,喝杯咖啡,这时,运营妹子小丽火急火燎的跑过来,小王预感不详;

小丽开口说:王哥,今天早上我看数据,昨天平台的成交量大幅下降啊,我想找你帮忙让开发给我查询下昨天加入购物车,提交订单未付款的数据,我排查下原因;

小王:内心(一点眼力劲都没有,给我个吃饭的时间呐),但是看着可爱的运营妹子不好拒绝,便说:可以,吃完饭我去找开发;

小王找到开发老李:李哥,帮忙查些数据;

老李昨天晚上加班给市场部上线了一个活动,带着黑眼圈在改bug,甩了句:没空,bug还没有解决完呢;

小王:李哥,那什么时候可以解决完bug;

老李生闷气:这我哪知道,你问测试去吧;

小王:我知道了……

以上小故事不是想表达产品汪和程序猿这两个不同的“物种”有多么大的分歧,是想说明我们产品经理有时候去找开发“取数”,开发不一定随时有空,所以学习些SQL语句,可以帮助我们自己解决问题。

二、数据库是干嘛的

通俗理解,数据库类似于你的钱包,钱包是用来存钱的,可以存自己的钱,也可以存别人给的钱;数据库是用来存储数据的,可以存平台用户提交的数据,可以存其他系统传输的数据,数据库里有表,表可以理解为excel表格,有行和列,数据就存储在表格里。

三、业务举例

某学校数据库里有一张学生表,用来记录所有的学生信息,学生表叫【student】如下图:

id: 表的唯一主键,主键是每条记录的唯一标识,可以理解为一个人的身份证号码。

student_id:学号;

name:姓名;

sex:性别;

age:年龄;

admission_date:入学日期;

(1)【场景1:新增学生】

现在,有个叫“周八皮”的学生转学过来了,要把周八皮的信息放到表里,就需要用到新增语句。

语法: insert into 【表名】values (值1,值2……)。

表名和值是可变的,其他的信息都是语法规定的,不可以变。

insert into  student  values (‘6′,’006′,’周八皮’,’男’,’12’,’2021-12-01’)。

刷新表,结果如下:

备注:如果要插入指定的数据的列,语法是:insert into (列1,列2)values((值1,值2)。

(2)【场景2:删除学生】

赵六的爸爸做生意赚钱了,要把他转到国际学校了,那就需要把赵六的信息删除。

语法:delete from 【表名】 where 列名称=值。

from:表示来自哪张表,后面跟表名。

where:表示条件,后面跟着条件,只有对符合条件的才会进行删除。

delete from student  where  name=’赵六’。

刷新表,结果如下:

赵六这个学生就不存在了,一般情况下实际业务中,是不会物理删除(表里的记录消失),都是逻辑删除(记录还在表格,只是标记一个删除的状态),一旦遇到误删除就可以及时挽回。

(3)【场景3:修改学生信息】

李四是个女生,但是录入信息的时候写成男生了,需要把李四改成的性别改完女

语法: update 【表名】 set 列名称=新值  where 列名称=某值

update student set sex=’女’ where name=’李四’

刷新表,结果如下:

(4)【场景4:查询学生信息】

查询所有学生;

语法:select * from 【表名】;

*:表示查询当前表的所有记录;

查询结果:

实际工作中,不建议用*查询全部记录,数据量庞大的时候会严重影响查询效率,一般情况下我们也用不到查询所有记录。

查询指定列的数据;

语法: select *  from【表名】where 列名称=‘值’;

查询姓名是王五的学生;

select * from student where name=’王五’;

查询结果:

查询年龄是12岁,并且入学日期是2021-120-01入学的学生;

需要用到一个运算符:AND , AND表示只有满足所有的条件下,才会返回记录;

select * from student where age=’12’ and admission_date=’2021/12/01’;

查询性别是男或者是年龄是10岁的学生,需要一个运算符: OR,OR表示只要满足任意1个条件,就会返回记录。

查询结果:

四、 说明

实际工作中,我们肯定不会直接操作数据库,来增删改查,因为数据库里有平台的所有数据,是公司无形的资产,只有指定的人才会有正式数据库的权限,我们一般增删改查在前端页面就能进行。

所以,提醒大家,如果开发给你开通了正式的数据库权限,操作一定要小心,不要轻易删除数据。

五、工具推荐

Navicat是一个强大的数据库连接工具,我一直在用,确实很方便,大家可以从官网下载:

下载完成后连接,选择你们使用的数据库。

连接名:可以自定义,为了方便可以记录项目的名称;

主机名和ip地址、端口,用户名和密码:这些都和开发或者测试同事要就可以;

全部输入完成后,点击确定,就可以开始一段数据库的旅程(不归路了)。

六、附言

以上就是分享的产品经理学数据库的知识,我曾经为了增加技能,把多表关联查询也学习了,实际工作中,发现基本用不到,用不到的东西学完了也容易忘记,基本上学会增删改查就可以应付日常的工作了,其他的更复杂的就交给专业的人来弄就好了。

产品经理会数据库只是一个优势,并不代表不会数据库就做不好产品经理,大家可以根据自己的实际情况来选择学习。

 

本文由 @秋风 原创发布于人人都是产品经理,未经许可,禁止转载

题图来自 Unsplash,基于CC0协议

本文由 @PM东东枪 原创发布于人人都是产品经理,未经许可,禁止转载。

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

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 数据库不归路

    回复
  2. 挺好的,产品经理加强跟服务器程序、数据库、API接口打交道。至于前端体验,差不多就行了哈哈。

    来自上海 回复
  3. “备注:如果要插入指定的数据的列,语法是:insert into (列1,列2)values((值1,值2)。 ”
    这句没有表名的吗,那怎么定位到要插入哪张表呢?

    来自上海 回复
    1. 感谢指正,是我漏写了。插入指定的数据列的语法格式是: insert into 表名 (列1,列2…)values (值1,值2…)

      来自北京 回复
  4. 所以结合最开始的故事,在数据库去查吗

    回复
    1. 是的,如果前端页面有统计分析能满足的话就不用了。

      回复
  5. 在工作中经常要用到数据库,这篇文章可以说很实用了,收藏收藏。

    来自湖北 回复
    1. 感谢支持,欢迎订阅,不错过以后的文章嘿嘿

      回复