firefly0818

2020-06-03   阅读量: 757

mysql 的一些点2

扫码加入数据分析学习群

1.更新一下之前的内容,完整的运算顺序: (), from,on, join, where,group by,having, select, distinct, union, order by,limit。

2.增删改查

注意:同一数据库系统数据库必须唯一,同一数据库中表名必须唯一,同一表中字段名必须唯一。

show databases; create databases 数据库名称; drop database 数据库名称;use 数据库名称; show tables; desc 表名; select * from 表名…; drop table 表名

insert into 表名(字段名...) values(字段值…)

改表名:alter table 原表名 rename 新表名

改字段名:alter table 表名 change 原字段名 新字段名 数据类型

改数据类:alter table 表名 modify 字段名 数据类型

改位置:alter table 表名 modify 列名 数据类型 first/after 字段名

删除列:alter table 表名 drop 字段名

给字段赋值:(前提是先对数据库设置批量操作权限: set sql_safe_updates=0; )update 表名 字段名=… (可以同时给两个字段赋值)eg.update t11 set t1=5,v11=t1+10;

3.公式:

手机脱敏公式:select replace('13512345678',mid('13512345678',4,4),repeat('*',4));

日期公式:datediff(终止日期,起始日期)天数差;adddate/subdate 时间的增加和减少,参数为:'日期',interval 1 day/month/year

如果为空显示公式:ifnull(字段名,0)

分组聚合函数很重要:可非重复,排序,用什么分隔。eg. group_concat(distinct ename order by sal desc separator '/')

逻辑表达式 case when ...then... else ... End。Eg. select *,case when sal>=3000 then '高'when sal>=1500 then'中' else '低' end 工资等级 from emp; 注意嵌套用when继续。

开窗函数

over语句一般跟在select 后的聚合函数后,可以包含以什么分区,以什么排序,指定滑动窗口,也可以都不包含。

eg. select *, avg(sal) over(partition by deptno order by hiredate rows between 1 preceding and 1 following) 移动平均 from emp;rows 记得加s。

所有的聚合函数都是动态函数,不指定默认静态窗口值,即分区内所有行。

以下为支持的指定滑动窗口的写法

只能是静态的常用的序号函数:row_number()排名结果不重复不间断;dense_rank()排名结果重复不间断;rank()排名结果重复间断 ;都是无参,记得加括号。

18.1382 2 0 关注作者 收藏

评论(0)


暂无数据

推荐课程