MySQL - DQL -常见函数

一、概述

  • 功能:类似于java中的方法
  • 好处:提高重用性和隐藏实现细节
  • 调用:select 函数名(实参列表);

二、函数
1. 单行函数

  • 符函数
  • concat:连接
  • substr:截取子串
  • upper:变大写
  • lower:变小写
  • replace:替换
  • length:获取字节长度
  • trim:去前后空格
  • lpad:左填充
  • rpad:右填充
  • instr:获取子串第一次出现的索引

2. 数学函数

  • ceil:向上取整
  • round:四舍五入
  • mod:取模
  • floor:向下取整
  • truncate:截断
  • rand:获取随机数,返回0-1之间的小数

3. 日期函数

  • now:返回当前日期+时间
  • year:返回年
  • month:返回月
  • day:返回日
  • date_format:将日期转换成字符
  • curdate:返回当前日期
  • str_to_date:将字符转换成日期
  • curtime:返回当前时间
  • hour:小时
  • minute:分钟
  • second:秒
  • datediff:返回两个日期相差的天数
  • monthname:以英文形式返回月

4. 其他函数

  • version 当前数据库服务器的版本
  • database 当前打开的数据库
  • user当前用户
  • password(‘字符’):返回该字符的密码形式
  • md5(‘字符’):返回该字符的md5加密形式

5. 流程控制函数

if(条件表达式,表达式1,表达式2):如果条件表达式成立,返回表达式1,否则返回表达式2
②case情况1

case 变量或表达式或字段
when 常量1 then1
when 常量2 then2
...
else 值n
end

③case情况2

case 
when 条件1 then1
when 条件2 then2
...
else 值n
end

三、分组函数

  1. 分类
  • max 最大值
  • min 最小值
  • sum 和
  • avg 平均值
  • count 计算个数
  1. 特点

①语法

select max(字段) from 表名;

②支持的类型

sum和avg一般用于处理数值型
max、min、count可以处理任何数据类型

③以上分组函数都忽略null

④都可以搭配distinct使用,实现去重的统计

select sum(distinct 字段) from;

⑤count函数
count(字段):统计该字段非空值的个数
count(*):统计结果集的行数
案例:查询每个部门的员工个数

1 xx 10
2 dd 20
3 mm 20
4 aa 40
5 hh 40

count(1):统计结果集的行数

效率上:

MyISAM存储引擎,count()最高
InnoDB存储引擎,count(
)和count(1)效率>count(字段)

⑥ 和分组函数一同查询的字段,要求是group by后出现的字段

发布了41 篇原创文章 · 获赞 1 · 访问量 577

猜你喜欢

转载自blog.csdn.net/qq_41620020/article/details/104878437
今日推荐