作为一名成熟的产品经理,难免会遇到在提出新需求的时候,开发的人员以当前框架基础不支持,现有数据库结构不好实现等作为理由进行反驳;在你想要查看当前公司的产品的用户数据,除了麻烦开发查询或者搭建后台管理系统这种比较耗时的操作以外,自己动手查询数据库也是一种比较方便快捷的方法。
基于以上情况,学习一些基础的SQL知识,可以节省部门间的交流成本,提高办公效率。产品经理和数据打交道的场景很多,有些同学是根据Excel进行数据的可视化,但有时候关系到几张表数据的关联或者更复杂的操作,这个时候如果会一些基础的SQL,你就会发现原来在Excel上没有办法的事情,是如此的轻而易举。
一:什么是SQL
SQL是一种结构化的查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。各种数据处理逻辑与方法的实现,都可以通过sql语言来完成。
几种当前公司比较常用的关系型数据库:
MySQL:
这个可以说当下互联网公司用的最多的数据库了。也是比较典型的使用SQL语句的数据库,我们接下来的教程也是基于MYSQL中的语法进行讲解。
Oracle:
是甲骨文公司的数据库,因为是收费的,所以用Oracle的一般都是数据量很大的公司。它是一种高效率、可靠性好的、适应高吞吐量的数据库解决方案。
SQLServer:
美国Microsoft公司推出的一种关系型数据库系统。SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。该数据库的缺点是不能跨平台使用。
既然提到了关系型数据库,那么还有不支持SQL的非关系型数据库,目前国内比较常见的有Redis、MongoDB、HBase 等。它们基于键值对进行数据存储,数据没有耦合性,易于扩展。如果小伙伴们感兴趣,可以写在留言中,以后会开专题进行讲解(我这是不是又在给自己挖坑,,,)。
二:关系型数据库的几个特点
上面是我用做举例的一张employee员工表,关系型数据库,“关系”就是二维表,并满足如下性质:
行row:表中的每一行,称为一条记录,例如图中的每一行,就代表每一个员工的相关数据
列column:表中的每一列,称为属性,字段
主键PK(Primary key):用于唯一确定一条记录的字段,如图中的id
数据库中的数据类型:
就好比图中的几个字段,id字段,年龄字段,这些对应的数据是 “数字”,姓名,部门名这些字段对应的数据是“文字”,生日字段对应的数据是“日期”。在数据库中,这些数据的类型,都有详尽的分类。
MySQL支持多种类型,大致可以分为四类:数值型、浮点型、日期/时间 和 字符串(字符)类型
1、数值型:
简单的说就是整数,但是考虑到字段的长度,分为了集中类型,你是产品,不用记那么多,了解常用的数值类型的 int,如果是很长的数值,那一般就是 bigint
2、浮点型:
简单的说 ,就是带小数点的。由于精度不同分为 float 和 double
3、日期和时间类型:
就是表示日期、时间的字段类型
4、字符串类型:
就是我们常说的文字,最常用的类型就是 varchar,如果是很长很长的文字的话,就用 text
看完这么多的数据类型,你会不会有点晕?没关系,大部分开发也不会把这些数据类型都记全了,你知道大概知道描述数值的 int,bigint;描述时间的 datetime;还有描述字符的 varchar 就算是入门了。
三、基础SQL语法
在认识到了常用的数据库特点,还有基本的数据库字段之后,别急,我们再学两句最基本的SQL语句,查询出表内的数据,今天的任务就算完成了。
下面让我们再回顾一下刚才的那张employee员工表:
下面就要介绍在SQL语句中,最常用的三个单词 select、from、where
语法格式:
select ......
from
where .
比如说你想要查询在employee员工表中,姓名为‘杰尼龟’的员工的所有数据,那就是
select * from employee where name='杰尼龟'
(注意:因为这里 杰尼龟 是字符串,语法规定字符串需要用引号给括起来,不然机器会把它和其他字符混淆。)
我们在控制台把语句打印出来
你看,这样数据库就能读懂你的语言,并且为你呈现对应的数据!
如果你只想显示这条数据的姓名,部门名,手机号,其他条件不变,那就只要修改 select 后面的条件
select name,departName,phone from employee where name='杰尼龟'
其实,各自复杂的查询,都是建立在
select --> 你想要显示的数据字段
from --> 你想要查询哪张表
where --> 你想要查询的条件
这三个关键词的基础上面的。
总结:
我们今天学习了常见数据库的种类,数据类型,还有最基本的SQL语句。顺便一提,MySQL的客户端的话,我个人推荐navicat,这个也是目前最常见的数据库链接工具。
如果想要在自己的电脑上搭建数据库,或者关于SQL语法、工具的讨论,也可以加我的微信,大家共同学习。
今后我也会更新更多的产品经理必学干货,写一些心得体会,供大家交流和分享。
喜欢的朋友记得点个关注,要是点个在看的话你就更美了~