MySQL—函数的使用

本文详细介绍了MySQL中的单行函数如字符串处理、数值运算、日期时间操作等,以及多行函数如聚合函数的应用,通过实例演示了如何使用这些函数提高查询效率。涵盖了计数、求和、平均等操作,并特别说明了null值处理和不同类型函数的适用范围。
摘要由CSDN通过智能技术生成

一、函数的使用

MySQL中提供了大量函数来简化用户对数据库的操作,比如字符串的处理、日期的运算、数值的运算等等。使用函数可以大大提高SELECT语句操作数据库的能力,同时也给数据的转换和处理提供了方便。 (在sql中使用函数)

函数只是对查询结果中的数据进行处理,不会改变数据库中数据表的值。MySQL中的函数主要分为单行函数和多行函数两大类,下面我们将详细讲解这两大类函数。

二、单行函数

单行函数是指对每一条记录输入值进行计算,并得到相应的计算结果,然后返回给用户,也就是说,每条记录作为一个输入参数,经过函数计算得到每条记录的计算结果。
常用的单行函数主要包括字符串函数、数值函数、日期与时间函数、流程函数以及其他函数。
举例:
举例

select empno,ename,lower(ename),upper(ename) from emp;

从运行 结果可以看到:
lower(ename),upper(ename) 改变每一条数据,–单行函数
在这里插入图片描述
常用的单行函数

1、字符串函数

select ename,length(ename),substring(ename,2,3) from emp;

substring:字符串截取,2:从字符下标为2开始,截取长度3起,始位置为从1开始
在这里插入图片描述

2、数值函数

select abs(-5),ceil(5.3),floor(5.9),round(3.14) from dual; -- dual:伪表
select abs(-5) as 绝对值,ceil(5.3) as 向上取整,floor(5.9) as 向下取整,round(3.14) as 四舍五入; -- 

在这里插入图片描述

3、日期和时间函数

select now(),sysdate(),sleep(3),now(),sysdate() from dual

在这里插入图片描述

4、流程函数

4.1、if 相关

select empno,ename,job,
case job
	when 'CLERK' then '店员'
	when 'SALESMAN' then '销售'
	when 'MANAGER' then '经理'
	else '其他'
end '岗位',
sal from emp;

在这里插入图片描述

4.2、case相关

select empno,ename,sal,
case
	when sal<1000 then 'A'
	when sal<2000 then 'B'
	when sal<3000 then 'C'
	else 'D'
end '工资等级',
deptno from emp;

在这里插入图片描述

5、其他函数

select database(),user(),version() from dual;

查看数据库名、用户、mysql的版本

在这里插入图片描述

三、多行函数

多行函数是指对一组数据进行运算,针对这一组数据(多行记录)只返回一个结果,也称为分组函数。

1、多行函数

select max(sal),min(sal),count(sal),sum(sal),avg(sal) from emp;

从运行结果看到:
max(sal),min(sal),count(sal),sum(sal),avg(sal):多条数据,最终展示一条数据 --多行函数
在这里插入图片描述

2、多行函数会自动忽略null值

select max(comm),min(comm),count(comm),sum(comm),avg(comm) from emp;

原表:
在这里插入图片描述
查询后结果
在这里插入图片描述

3、max(),min(),count():针对所有类型 sum(),avg()只针对数值类型有效

select max(ename),min(ename),count(ename),sum(ename),avg(ename) from emp;

在这里插入图片描述

4、count()函数:统计表的记录数

方式1:
一般用count(*)统计记录数,因为表中的其他字段可能为空
select count(*) from emp;
方式2:

select 1 from dual

select 1 from emp; -- 有多少条记录,展示多少个1
select count(1) from emp

select count(1) from emp:查询表中有多少记录
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲代码敲到头发茂密

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值