mysql实时计算数据处理_第二周:MYSQL数据库入门,提升你的数据处理效率

第1课:使用SQL探索产品数据

1、什么是SQL?

SQL,Structured Query Language结构化查询语言是目前对数据库进行查询和编辑的主流编程语言。

通常来说,一个数据库会包含一个或多个表,在SQL的数据表中,每一行也会被称为一个记录,而每一列也会被称为字段。

2、关键的数据处理环节

3、SQL学习的注意事项标点符号只可以使用英文

SQL语句以英文分号(;)结尾

表名字段名一定不能写错

SQL语句对于大小写不敏感

第2课:我们获得的数据是什么样子的?

1、使用DESC语句 获取表中数据字典

数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述。

DESC 语句作用:DESC 语句用于显示数据字典

语法:DESC 表名

举个栗子: 显示启动表的数据字典

DESC run_info;

2、使用SELECT查询数据

select 语句用于从表中选取数据,结果被存储在一个结果表中。

SELECT 语句作用:SELECT 语句用于查询数据表中的数据

语法:SELECT 字段名 FROM 表名

举个例子:查询用户表中所有字段数据 select * from user_id_info;

3、使用LIMIT语句查询特定行数数据

在上述select 的语句结尾部分再加上SQL中的限制语句limit语句

LIMIT 语句作用:限制查询数据的行数。

语法:SELECT 字段名 FROM 表名 LIMIT 行数;

举个例子:查询用户表中前五行数据 select * from user_id_info limit 5;

第3课:如何用WHERE筛选产品功能?

1、使用WHERE筛选数据

WHERE 语句作用:WHERE 语句对数据按照特定的条件去进行筛选。

语法:SELECT 字段名 FROM 表名 WHERE 条件语句思路

第一步:确定查询的表与查询的字段

第二步:撰写条件语句

确定筛选条件

撰写对应的条件语句

第三步:将查询语句补充完整

第4课:如何用ORDER BY进行排序 ?

RDER BY 语句定义:可以实现将显示结果按照特定字段进行排序的效果。

语法:SELECT 字段名 FROM 表名 ORDER BY 字段名。

补充知识:ORDER BY语句默认为升序排序,如要降序排序,则在字段名后加DESC。

第5课:如何用CASE WHEN分组?

CASE WHEN 语句作用:根据是否满足语句中的判断条件会落入不同的取值,是对数据进行重新分类整理和命名。

语法:

CASE

WHEN 条件1 THEN 结果1

WHEN 条件2 THEN 结果2

END以 CASE 为起点

WHEN...THEN...成对出现

END作为终点

AS 语句作用:对变量进行命名以及重命名

语法:原变量名 AS 新变量名

通常 CASE WHEN 语句后会通过 AS 给长长的语句起一个小名

今日份小任务:

答案1:

SELECT m_date,m_use_time,m_function,

CASE

WHEN m_function='install' THEN '安装'

WHEN m_function='uninstall' THEN '卸载'

ELSE '功能'

END AS a

FROM use_function_info

ORDER BY m_date,m_use_time desc;

答案2:

SELECT m_date,m_use_time,m_function,

CASE

WHEN m_function='install' THEN '安装'

WHEN m_function='uninstall' THEN '卸载'

WHEN m_function IN ('function_a','function_b','function_c') THEN '功能'

END AS a

FROM use_function_info

ORDER BY m_date,m_use_time desc;

第6课:如何进行数据清洗?

在数据清洗的环节,我们将会使用到 UPDATE以及 DELETE语句。

数据清洗环节

1、UPDATE语句作用:更新表中具体字段的信息

语法:UPDATE 表名 SET 字段='更新内容' WHERE 条件

第一步:数据检查

使用SELECT语句检查gender是否存在异常值

使用DISTINCT对数据去重(DISTINCT在之后会详细讲解)

SELECT DISTINCT gender from user_id_info;

运行后,发现异常值:男人

第二步:查看异常数据

使用WHERE语句,筛选出异常数据

在这里,就是筛选出gender为男人的数据

SELECT * FROM user_id_info

WHERE gender='男人';

第三步:数据清洗

使用UPDATE语句进行字段更新

UPDATE 表名 SET 字段='更新内容' WHERE 条件

UPDATE user_id_info

SET gender='男'

WHERE gender='男人';

第四步:数据复查

再次使用SELECT语句,查看异常值是否被清洗

SELECT DISTINCT gender from user_id_info;

2、DELETE语句作用:删除表中具体字段的信息

语法:DELETE FROM 表名 WHERE 条件

DELETE VS UPDATEDELETE:当数据非常多,或我们不清楚正确的值时,就直接使用DELETE将异常值删除

UPDATE:当知道正确的值或者删除异常值对数据整体有影响时,就使用UPDATE进行更新

第7课:如何用COUNT计算

1、COUNT函数的定义作用:COUNT 函数是用来统计个数的函数,它的主要功能是查询满足条件的记录总数,也就是行数。

语法:COUNT(字段名)。

2、COUNT函数的使用场景COUNT 常见的使用场景有2个:场景一:统计数据的总行数—— COUNT(*)COUNT(*)的作用和SUM(1)一致

场景二:统计特定字段的个数——COUNT(DISTINCT 字段名)

今日份小任务:

答案1:

SELECT COUNT(DISTINCT user_id)

FROM use_function_info

WHERE m_function='install';

SELECT COUNT(DISTINCT user_id)

FROM use_function_info

WHERE m_function='uninstall';

答案2:

SELECT m_function,COUNT(DISTINCT user_id)

FROM use_function_info

WHERE m_function IN ('install','uninstall')

GROUP BY m_function;

3、SUM / AVG / COUNT 函数SUM 与 AVG 的作用与语法SUM——求和;AVG——平均值

语法:SELECT SUM(字段名),AVG(字段名) FROM 表名;

SUM 与 COUNT 函数的区别COUNT 函数:统计对应字段名符合条件的行数

SUM函数:对应字段数值求和

今日份小任务:从功能表中,计算功能C的人均耗时与平均耗时

功能C和功能A、功能B在使用耗时上有什么不同?

答案1:

SELECT m_function,SUM(m_use_time)/COUNT(DISTINCT user_id),AVG(m_use_time),COUNT(*)/COUNT(DISTINCT user_id)

FROM use_function_info

WHERE m_function='function_A';

SELECT m_function,SUM(m_use_time)/COUNT(DISTINCT user_id),AVG(m_use_time),COUNT(*)/COUNT(DISTINCT user_id) FROM use_function_info WHERE m_function='function_B';

SELECT m_function,SUM(m_use_time)/COUNT(DISTINCT user_id),AVG(m_use_time),COUNT(*)/COUNT(DISTINCT user_id) FROM use_function_info WHERE m_function='function_C';

答案2:

SELECT m_function,SUM(m_use_time)/COUNT(DISTINCT user_id),AVG(m_use_time),COUNT(*)/COUNT(DISTINCT user_id)

FROM use_function_info

WHERE m_function IN ('function_a','function_b','function_c')

GROUP BY m_function;

第8课:如何用GROUP BY统计?

1、GROUP BY 语句作用:GROUP BY语句可以实现按照特定字段包含的分类进行汇总计算的效果(比如求最小值,最大值,平均值、求和等等)

语法:SELECT 函数(字段名) FROM 表名 GROUP BY 字段名

拓展知识:ORDER BY语句的书写顺序在GROUP BY语句之后

今日份小任务:从功能表中,计算不同日期、不同功能的使用次数以及使用用户数。

代码思路:搭建代码框架

找到功能表 use_function_info

筛选出使用功能的数据 WHERE...IN

按照日期、功能聚合数据 GROUP BY

查询 日期,功能,使用次数,使用用户数

SELECT m_date,m_function,COUNT(*),COUNT(DISTINCT user_id)

FROM use_function_info

WHERE m_function IN ('function_a','function_b','function_c')

GROUP BY m_date,m_function;

第9课:如何用JOIN查询多个数据表?

1、JOIN 语句作用:JOIN语句的作用是将两张数据表进行拼接。

语法:SELECT 字段1 FROM 表1 JOIN 表2 ON 表1.字段2 = 表2.字段2JOIN的两边是需要进行链接的两张表

ON后面的部分则是通过哪个字段去进行表与表的连接

比较常见的3种JOIN语句是JOIN/LEFT JOIN以及RIGHT JOIN。

a JOIN b同时匹配JOIN语句左边与右边的表的全部记录。

生成的是两个表的交集。

a LEFT JOIN ba表为主表

产生a表的完全集

b表中匹配的则有值,没有匹配的则以null值取代

a RIGHT JOIN bb表为主表

产生b表的完全集

a表中匹配的则有值,没有匹配的则以null值取代。

到这里SQL部分的关键知识点就差不多了,想到学好还是要不断练习、练习、再练习的。

比较详细的SQL语句可以查看以下:Venus:SQL初探:SQL基础与查询语句​zhuanlan.zhihu.comzhihu-card-default.svgVenus:SQL高级语句​zhuanlan.zhihu.comzhihu-card-default.svg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值