MySql入门学习笔记
写在前面
MySql入门并不是一件难的事情,了解相关的函数和语句比较容易,要想从事数据分析的相关工作,勤加练习才是提升Sql能力的唯一方法,Leecode和MySql45题都是非常好的练习内容。
其次,在练习的过程中,一定要先思考自己选择的取数逻辑,然后和对应的答案做比较。如果自己做不出来或者取出来的结果有误,要思考是对于题目中的概念理解有误,还是对于相关的语句、函数理解不透彻,如果是前者,则要慢慢积累行业内的一些专业术语;如果是后者,则需要针对对应不熟练的语句和函数多看、多练、多思考用法。
一、对表的操作
现在大部分的建表、修改表、删除表都可以通过navicat这种可视化界面进行操作。但是了解这些语句也很重要。
对表的操作主要分为:
1.创建表
create table [表名] (
字段1 数据类型 限制条件,
字段2 数据类型 限制条件);
2.修改表
2.1 对表名进行修改
alter table 表名 rename to 新表名
2.2添加字段
alter table 表名 add 字段 类型 约束条件
2.3修改字段
2.3.1 只修改字段属性
alter table 表名 modify 原字段名 新类型 新条件
2.3.2 修改字段名称和属性
alter table 表名 change 原字段名 新字段名 类型 约束条件
2.4删除字段
alter table 表名 drop 字段名
3.查看表
3.1查看表结构
desc 表名
3.2查看建表语句
show create table 表名
3.3查看当前数据库的所有表
show tables;
4.删除表
drop table 表名
二、对数据的操作
1.增加数据
1.1全列插入
insert into 表名 values (有多少列输入多少数据,用逗号隔开)
1.2部分列插入
insert into 表名(想要的字段,用逗号隔开) values(前面有几个字断写几个值,用逗号隔开)
1.3多行插入
一行一行写入;直接在values后加逗号和新的要输入的值就可以了
2.数据删除
delete from 表名 where 加筛选条件;
truncate 表名;删除表内的全部数据;
增加一个字断,用bit 用来表示是否删除 false 就是未删除(增加标志位)。
3.数据修改
update 表名 set 字段1=新的值,字段2=新的值 where 条件
4.数据查询
4.1查询语句大概的样子
select 字断 from where 条件 group by order by
4.2having和where的区别:
区别一:where是数据从磁盘读入内存时候一条一条判断的;
having是将所有数据读入内存,在分组统计前,根据having的条件再将不符合条件
的数据删除
区别二:having子句可以使用字段别名,where不可以用
区别三:having可以使用统计函数,where不可用;
having筛选必须是根据前面select字段的值进行筛选
4.3聚合特征-聚合函数
1.count() 2.max() 3.min() 4.sum() 5.avg() 6.group_concate() 用round函数改变消暑位数 round(value,length)
4.4分页查询
limit在使用过程中常用来取某一行的数据或者某几行的数据
4.5表连接
笛卡尔积 产生结果是因为无条件关联,只要有表连接就有笛卡尔积,on可以看作是一个筛选条件。
4.5.1交集 内连接
inner join on
4.5.2保留左边的全部数据 左连接
table1 left join table2
4.5.3保留右边的全部数据 右连接
table2 right join table1
4.6 子查询
在一个select语句中增加新的select语句
4.6.1普通子查询 当作一个普通的表
防止出现字段不重名
4.6.2标量子查询 查出一个标量
当需要查询的两个内容的条件语句不相同时,这个时候可以把其中的一个查询字段用子查询的方式变成标量再放在一起查询。
5.函数
5.1字符串函数
http://note.youdao.com/s/Z5cQOr8H
5.2数学函数
http://note.youdao.com/s/RgFWMG7l
5.3时间函数
http://note.youdao.com/s/DYInPVFC
5.4窗口函数
http://note.youdao.com/s/6ucDYF3N
5.5条件控制语句
http://note.youdao.com/s/coLSY8NN
5.6加密函数
http://note.youdao.com/s/B6M6qgRi
三、游戏数据分析
如何查看一个游戏的运营情况?
1.新增玩家分析:新增玩家数量,新增付费玩家占比,每日新增玩家数/每月新增玩家数
2.玩家活跃度分析:用户在线时长,用户分布特征(上四分位数,下四分位数,均值
3.玩家付费情况分析:PUR,ARPPU、ARPU等关键指标得出的情况来展开分析
AU(active users):活跃用户,这里定位游戏时长达15分钟的为活跃用户
PU(paying users):付费用户
APA(active payment account): 活跃付费用户数
ARPU(average revenue per user):平均每个活跃用户的收入,即可通过总收入/AU计算得出
ARPPU(average revenue per paying user):平均每个活跃付费用户收入,可通过总收入/APA计算得出
PUR(pay user rate): 付费比率,APA/AU
每个游戏有用户等级划分:废户,普通用户,VIP用户,SVIP用户,大R用户
4.玩家游戏习惯分析:从不同玩家的PVP、PVE这两个指标来展开分析
PVP人对人
PVE 玩家与电脑之间的对战