面试常问Mysql函数怎么使用(精选)
一、函数的使用
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:查表中有多少记录
#面试复盘##春招##笔试题目##面经##笔经##MySQL##笔记##题解#