1.处理字符串的函数
group_concat(X,Y)
使用方式:x
是要连接的字段,y
是要连接的符号,可以不写,默认,
,此函数必须搭配group by
使用,将每个相同分组的,不同元素使用,
连接起来
select stu_name,group_concat(test_score)
from tb_student
group by stu_name
length()
计算字符串长度replace(target,x,y)
替换字符,target
目标字符串,x
被替换的字符,y
替换的字符
replace("1,2,3,4,5,6",",","-")
# 将逗号替换成 -
2.处理时间的函数
2.1.1 根据年月日分组,根据年月日,参数可不写,默认
date_format(date,'%Y-%m-%d')
2.1.2 根据年,月,日 分组
year(date)
,month(date)
,day(date)
2.2.3 时间相减的函数datediff(date,date),前面减后面
select datediff('2015-5-31','2016-5-31')
# -366
2.2.4date_add()函数语法:
描述:算次日留存率问题
DATE_ADD(date,INTERVAL expr unit)
备注:date_add()和adddate()是同义词.
参数说明:
date
:起始日期或者起始时间
expr
:指定的是一个间隔值,在起始时间中增加或者减少,注意:expr是一个字符串.对于负值间隔,可以以"-"开头
unit
:表示的是一个单位,比如,加上的是1天还是一个小时.
3.处理数字的函数
floor/ceiling
-------> 向下/上取整
4.自带关键字
case 列名
when 条件 then 表达式
[.........]
else 表达式
end
exists / not exists 关键词
常与where连用,效果与 `in` 类似,当子查询表>外查询表时,可用exists.
exists 返回的是True/False 当子查询查到东西会返回True,再去执行外查询
查不到会返回False,不执行
5.mysql alter用法
- ALTER TABLE 表名 ADD 列名/索引/主键/外键等;
- ALTER TABLE 表名 DROP 列名/索引/主键/外键等;
- ALTER TABLE 表名 ALTER 仅用来改变某列的默认值;
- ALTER TABLE 表名 RENAME 列名/索引名 TO 新的列名/新索引名;
- ALTER TABLE 表名 RENAME TO/AS 新表名;
- ALTER TABLE 表名 MODIFY 列的定义但不改变列名;
- ALTER TABLE 表名 CHANGE 列名和定义都可以改变。