MYSQL数据库常用函数整理

数学函数

select abs(-8);#求绝对值
select ceileng(9.4);#向上取整
select floor(9.4);#向下取整
select rand();#随机数,返回一个0-1之间的随机数,每次执行都会是一个新的随机数
select rand(3);#取随机数,但当这个函数再次执行时,数值不会变化
select sign(0);#符号函数:负数返回-1,正数返回1,0返回0;

字符串函数

select char_length('字符串函数');#返回字符串包含的字符数
select concat('字','符','串')#合并字符串,参数可以有多个
select insert('字符串函数',1,2,'替换的值');#替换字符串,从某个位置开始替换到某个长度
select lower('ZiFuChuan');#小写
select upper('ZiFuChuan')#大写
select left('hello,world',5)#从左边截取5个字符
select right('hello,world',5)#从右边截取5个字符
select replace('字符串函数','函数','方法');#替换,将字符串函数中的函数替换为方法
select substr('字符串函数',2,4)#截取字符串,开始索引和截取长度
select reverse('字符串函数')#反转

日期和时间函数

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 version()#版本
select user()#用户

应用: 查询姓李的同学,并将李改为莉

select replace(studentname,'李','莉')as 新姓
from student where studentname like '李%'

聚合函数

函数名称描述
count()返回满足select条件的记录总和数,如select count(*) …
sum()返回数字字段或表达式列作统计,返回一列的总和
avg()通常为数值字段或表达列作统计,返回一列的平均值
max()可为数值字段,字符字段或表达式列作统计,返回最大的值
min()可以为数值字段,字符字段或表达式列作统计,返回最小的值

示例代码应用:

select count(studentname) from student;
select count(*) from student;
select count(1) from student;#推荐

select sum(studentresult) as 总和 from result;
select avg(studentresult) as 平均分 from result;
select max(studentresult) as 最高分 from result;
select min(studentresult) as 最低分 from result;

#查询不同课程之间的最高分,最低分,平均分
#思考,不同课程之间,那就需要分组,且关联result表和subject表
select subjectname ,max(studentresult) as 最高分,
min(studentresult) as 最低分 ,avg(studentresult)as 平均分
from result as r
inner join subject as s
on r.subjectno=s.subjectno
group by r.subjectno
having 平均分>80;

自定义函数

格式:

create function fuction_name(参数列表) returns 返回值类型
begin
	sql语句;
	return;
end;
/**
*函数名,应该合法的标识符,并且不应该与已有的关键字冲突。
*一个函数应该属于某个数据库,可以使用db_name.funciton_name的形式执行当前函数所属数据库,否则为当前数据库。
*参数部分,由"参数名"和"参数类型"组成。多个参数用逗号隔开。
*函数体由多条可用的mysql语句,流程控制,变量声明等语句构成。
*多条语句应该使用 begin...end 语句块包含。
*一定要有 return 返回值语句。
*/
示例:
-- 最简单的仅有一条sql的函数
create function myselect2() returns int return 666;
select myselect2(); -- 调用函数

#无参函数
create function myselect3() returns int
begin 
    declare c int;
    select id from class where cname="python" into c;
    return c;
end;
#调用函数
select myselect3();

#带参数的函数
create function myselect5(name varchar(15)) returns int
begin 
    declare c int;
    select id from class where cname=name into c;
    return c;
end;
#使用函数
select myselect5("python");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值