[MySQL] --常用函数的使用方法总结

窗口函数介绍

  1. <窗口函数> over (partition by <用于分组的列名> order by <用于排序的列名>)
  2. 窗口函数分为 专用窗口函数(如: rank, dense_rank, row_number等) 和 聚合函数 (如:sum, avg, count, max, min等)
# 一些专用窗口函数的介绍:
rank() #并列跳跃排名,即相同的值,保留重复名次,遇到下一个不同值的时候,跳跃至总共排名。 (如:1,2,3,4,4,4,7)
dense_rank()  #并列连续排序,相同的值,保留重复名次,遇到下个不同值的时候,按照连续数字排名。(如:1,2,2,3)
row_number() #并列连续排序,就算值一样,也按照连续数字排名。(如:1,2,3,4,5,6,7)

PIVOT 行转列

(可用case…when…then来得到同样的效果)

select * from [table_name] /*数据源*/ as P
pivot( sum (/*行转列后列的值*/) for P.attribute /*需行转列的列*/
	in[col1], [col2],[col3]/*列的值*/)
) as T

WITH…AS

子查询,用来定义SQL片段

with [table_alias_name] as(
	/*所选数据*/
)

INSERT

向表中插入数据

指令已存在不存在
insert报错插入
insert ignore报错插入
replace替换
insert into table_name (name, age) values('xiaoming', 23);

索引

创建索引
普通索引create index indexName on table_name (col_name)
唯一索引create unique index indexName on table_name (col_name)
修改表结构 --(添加索引)
普通索引alert table table_name add index indexName (col_name)
唯一索引alert table table_name add unique indexName (col_name)

**强制索引:**提高搜索效率

select * 
from table_name force index(强制索引名)
where 筛选条件

视图view

视图是虚拟存在的表(逻辑表),本身不包含数据。作为一个select语句包存在字典中,不需要关心后面对应的表的结构,关联条件,筛选条件等内容。用户只能访问他们允许被查询的结果。当视图结构确定了,可屏蔽表结构对用户的影响。

优点:简单,安全,数据独立

create view view_name
as (select * from table_name)

添加列

# 同时向表中添加两个或多个列
alert table table_name
add [column] column_name1  column_1_definition [first|after existing_col]

# 在建好的表中添加一列:
alter table table_name add column new_col_name varchar(255) not null;

# 添加至指定列后
alter table table_name add column new_col_name varchar(255) not null after col_name;
# 若想添加至第一列,把 ‘after col_name' 改为 ‘first’

Delete 语句

delete from table_name [where clause]

自学内容整理总结,如有错误,欢迎指正。(不定期更新)

Reference:

  1. https://www.yiibai.com/mysql/foreign-key.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值