记录学习SQL过程
MySQL
基础
执行顺序
from-where-group by-having-select-order by
注意:where后面只能跟表中存在的数据;having不能单独使用,要与group by联合使用
书写顺序
select-from-where-group by-having-order by
常用函数
大写UPPER(),小写LOWER()
绝对值ABS(),求余MOD(),对x保留y位小数ROUND(x,y)
拼接CONCAT(str1,str2,…),求长度LENGTH()
替换REPLACE(str,str1,str2)将str中的str1替换为str2
截取SUBSTRING(str,i,n)取str第i个字符开始长度为n的字符串(不包含第i个字符串)
当前时间CURRENT_TIME,当前日期CURRENT_TIME
类型转换CAST(x as y)将x转换为y类型
返回参数中第一个非空值COALESCE(数据1,数据2,…)
CHAR()和VARCHAR()
CHAR():定长字符,MySQL数据库根据建表时定义的长度分配相应的存储空间;插入CHAR(50)的字符串"abcd"会使用全部50个字长存储,不足的部分用空格填充;
字符串尾部若有空格,会被自动删除;
因此CHAR用来存储一些固定长度的字符串,如电话、身份证号