SQLyog基本操作(七)-MySQL函数

5 MySQL函数

官网:查看MySQL技术文档

5.1 常用函数

 -- 数学函数
 SELECT ABS(-1) -- 绝对值
 SELECT CEILING(1.1)  -- 向上取整
 SELECT FLOOR(1.1) -- 向下取整
 SELECT RAND() -- 返回0~1之间的随机小数
 SELECT SIGN(0) -- 判断一个输的符号 0返回0
 SELECT SIGN(10) -- 正数返回1
 SELECT SIGN(-10) -- 负数返回-1
 ?
 -- 字符串函数
 SELECT CHAR_LENGTH(‘字符串函数‘) -- 字符串长度
 SELECT CONCAT(‘字符串‘,‘函‘,‘数‘,‘拼接‘) -- 字符串函数
 SELECT INSERT(‘hello world!‘,6,4,‘,你好!‘) -- 查询,从某个位置开始替换某个长度
 SELECT LOWER(‘Hello‘) -- 转小写字母
 SELECT UPPER(‘Hello‘) -- 转大写字母
 SELECT INSTR(‘Hello‘,‘l‘) -- 返回第一次出现的子串的索引
 SELECT REPLACE(‘*1*2*3*‘,‘*‘,‘加油‘) -- 替换出现的指定字符串
 SELECT SUBSTR(‘12345654321‘,4) -- 从第4个位开始截取直到末尾
 SELECT SUBSTR(‘12345654321‘,4,5) -- 从第4个位置开始截取5个长度的子串
 SELECT REVERSE(‘你是猪‘) -- 反转字符串
 --
 SELECT * FROM `student` WHERE `StudentName` LIKE ‘郭%‘
 --
 SELECT REPLACE(`StudentName`,‘郭‘,‘李‘) FROM `student`
 WHERE `StudentName` LIKE ‘郭%‘
 ?
 -- 查询时间和日期函数
 SELECT CURRENT_DATE -- 获取当前日期
 SELECT CURDATE()
 SELECT NOW() -- 获取当前时间
 SELECT LOCALTIME() -- 获取本地时间
 SELECT SYSDATE() -- 获取系统时间
 SELECT YEAR(NOW()) -- 获取当前年份
 SELECT MONTH(NOW()) -- 获取当前月份
 SELECT DAY(NOW()) -- 获取当前天数
 SELECT HOUR(NOW()) -- 获取当前小时
 SELECT MINUTE(NOW()) -- 获取当前分钟
 SELECT SECOND(NOW()) -- 获取当前秒钟
 ?
 -- 查询系统
 SELECT SYSTEM_USER() -- 获取系统作者
 SELECT USER()
 SELECT VERSION() -- 获取版本号

 

5.2 聚合函数(常用)

 -- 统计表中的数据(想查询一个表中有多少个记录,就使用这个COUNT())
 SELECT COUNT(`StudentName`) FROM `student`; -- COUNT(字段):会忽略所有的NULL值
 -- 下面两个:本质都是计算行数
 SELECT COUNT(*) FROM `student`; -- COUNT(*):不会忽略所有的NULL值
 SELECT COUNT(1) FROM `student`; -- COUNT(1):不会忽略所有的NULL值
 ?
 -- 数学计算函数
 SELECT SUM(`StudentResult`) AS ‘总分‘ FROM `result`
 SELECT AVG(`StudentResult`) AS ‘平均分‘ FROM `result`
 SELECT MAX(`StudentResult`) AS ‘最高分‘ FROM `result`
 SELECT MIN(`StudentResult`) AS ‘最低分‘ FROM `result`
 ?
 -- 查询不同课程的平均分、最高分、最低分,平均分大于80的记录
 -- 核心:根据不同课程进行分组
 SELECT `SubjectName`,AVG(`StudentResult`) AS ‘平均分‘,MAX(`StudentResult`) AS ‘最高分‘,MIN(`StudentResult`) AS ‘最低分‘
 FROM `result` r
 INNER JOIN `subject` sub
 ON r.`SubjectNo`=sub.`SubjectNo`
 GROUP BY r.`SubjectNo` -- 通过什么字段来查询
 HAVING ‘平均分‘>80

 

SQLyog基本操作(七)-MySQL函数

上一篇:十八、MySQL读写分离服务器的搭建。


下一篇:docker-compose部署nodejs+eggjs+mysql+redis+nginx项目