SQL的基础操作

1.学习SQL的意义

产品经理经常会有数据分析的需要,数据分析分为几大步骤:数据的收集->数据结构分析->数据建模分析->结果可视化。

在这个过程中,数据的收集和分析,我们通常借用excel或数据库。

因此,我们需要知道数据库的一些操作和使用。

2.SQL的定义

SQL是数据库的操作语言,我们一般登录数据库管理系统后,需要使用SQL语言来进行操作,SQL主要分为:

  • 数据定义语言(DDL):对数据库对象进行创建,删除等操作。数据对象包括:数据库、表、视图、索引等。
  • 数据操作语言(DML):主要对各种表进行各类操作。比如:增加、删除、修改等。
  • 数据查询语言(DQL):主要是针对单表或者多表中的数据进行各种查询。
  • 数据控制语言(DCL):主要是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT、DENY、REVOKE等语句

3.SQL查询语句

select 列名 —查询指定要显示的字段;如果要查看所有的列,则用*号表示

From 表A —选择要查询的表

where 限制条件 —各种过滤条件,例如:大于,小于,包含等

Group by —按指定列名进行分组统计。比如今天新增了多少名会员,今天形成了多少笔订单。顾名思义,分组统计就是要保证分组后的结果中有一个值是唯一的,比如统计每个IP登录次数,IP就是唯一值,每个IP的最后登录时间等,所以Group by的必须配合聚合函数来用,常用的聚合函数有:

  • count() 计数
  • sum() 求和
  • avg() 平均数
  • max() 最大值
  • min() 最小值

Having 列名 —对分组统计的结果进行限制,用来对Group by的结果进行过滤。比如我统计每天的订单总数是多少,统计出来以后,我想知道订单总数大于100 的是多少,主要对Group by统计之后的数据进行过滤

Order by 列名 —对查询结果进行排序(ASC升序,Desc降序),默认是升序

Limit N —给出N条数据

4.实例

例1:
SELECT *  //查询结果展示所有字段
FROM wp_options  //从wp_options表中获取数据
LIMIT 20;  //查询结果限制展示20条,在命令行操作时要以分号结尾
例2:
select ip,date,count(date) as count_date  //查询结果展示ip,以及对ip分组后对应的字段,在字段后加上a as b表示a字段在输出的时候列名用b表示
from wp_count   //从wp_count表中获取数据
group by date,ip  //对date+ip进行分组展示,即相同date+ip条件下为一条数据展示
HAVING count(ip)>5  //分组结果只展示ip统计次数大于5的
ORDER BY ip,count(ip) desc;  //按ip和count(ip)进行排序,ip正序,count(ip)倒序

输出结果如下:

5.各个关键语句的用法

“Where”是一个约束声明,在查询数据库的结果返回之前对数据库中的查询条件进行约束,即在结果返回之前起作用,且where后面不能使用“聚合函数”;Where后面一般跟一些条件选项,这个在后面再详细说一下。

“Group by”是分组展示的意思,即得出的结果只能有分组的字段加一个聚合函数(count,min,max,sum,avg等)。这种情况下查询条件中只能存在分组字段,以及聚合函数字段,原因是分组之后同组别的数据只有一条,如果加上其他字段,则无法判断该展示哪一条。

“Having”是一个过滤声明,所谓过滤是在查询数据库的结果返回之后进行过滤,即在结果返回之后起作用,并且having后面可以使用“聚合函数”。

“ORDER BY”进行排序时,可以多个,如order by a,b,则a排序后对a排序下每一组结果按b进行排序。

 

发表评论

电子邮件地址不会被公开。