目录
数据库的库函数
一、聚合函数:
1、count:
二、日期时间函数:
1:now:
2:data
3:time
4:date_format
三、常用的库函数
1:upper
2:lower
3:substring
4:round
5:length
6:concat
7:database
8:user
9:power
四、其他函数:
自定义函数的创建:
自定义函数function
1、 函数创建
2、函数调用
3、自定义函数的删除
五、函数的调用与删除:
数据库的库函数
高级语言一般都有自己的库函数,数据库也不例外,在数据库中也提供了一些用于实现特定功能的函数
一、聚合函数:
在数据库函数中,聚合函数是我们最常用的一类,所谓的聚合,就是对一组值进行组合计算,返回单个值
1、count:
计数函数:对元祖或者属性计数
一般格式:count(属性名)。
select count(*)from 表名 ;# '*'是对整个表的元祖进行计数
select count(属性名) from 表名 where 条件表达式;
# count 支持条件计数,只计算有效值,不计算null值
-- 聚合函数就是对一组值进行计算,结果返回单个值
-- 统计函数count
-- 统计学生人数
select count(s_id)学生人数 from student;
-- 数据表中的属性可以作为函数参数
-- 求最大值函数max
-- 求学生的最大年龄
select max(s_age) from student;
-- 求最大值min 求平均值avg ,求和sum
二、日期时间函数:
1:now:
求当前的日期和时间
一般格式:now()
如:select now();
2:data
求日期函数
一般格式:data (日期时间类型的属性名)。
如:select data(birthday) from student;
-- 获取当前日期时间now
select now();
-- 获取日期函数date
-- 获取指定日期时间类型数据中的日期
select date("2020-09-15 08:30:23");
-- 获取当前时间
select time(now());
-- 将日期时间类型装换为字符串类型date_format
-- 将当前日期时间转换成特定格式的字符串select date_format(now(),"%Y-%m-%d %h:%i:%s");
-- 自定义分隔符
-
3:time
求时间函数
一般格式:time (日期时间类型的属性名)。
如:select time(birthday) from student;
4:date_format
时间日期类型转字符串类型函数
一般格式:date_format(日期时间类型,格式字符串)
如:select date_format(now(),"%Y%M%D:%H%i%s");
#格式字符串可用变量来代替
三、常用的库函数
1:upper
小写字母转大写字母函数
一般格式:upper(字符型属性名)
如:select upper('abc');
#也可用ucase函数代替,如:select ucase ('abc');
2:lower
大写字母转小写字母函数
一般格式:lower (字符型属性名);
如:select upper('ABC');
#也可用lcase函数代替,如:select lcase("ABC");
3:substring
提取字符串函数,以给定的参数求字符串中的一个子串。
一般格式:substrinig(字符串,start ,lenth);
#从字符串中第一个start个字符开始取出长度为length的字符串。
如:select substring('abc123@#$',4,3);#结果为123
#也可以用Mid 函数代替,如:select mid('abc123@#$',4,3);
4:round
四舍五入函数。(可代替floor函数,用于取整)
一般格式:round(数值类型[,精确位数]);
如:select round(1234.56);#不加精准位数默认精通到整数位
select round(123,456,2);#加上精准位数就保留多少位小数
-- 获取当前操作的数据库名database
select database();
-- 获取当前操作的用户名user
select user();
5:length
返回字符串的长度
一般格式:length(字符串)
6:concat
字符串连接函数,连接多个字符串
一般格式:concat(字符串1,字符串2,....,字符串n)
7:database
返回当前数据库名
一般格式:database()
8:user
获取当前用户名
基本格式:user()
9:power
求次方函数
一般格式:power(底数,指数);
如:select power(2,3); #求2的3次方的值
#可以用pow 函数代替power函数,如:select pow(2,3);
#举一反三
#既然有求次方函数,是不是也有求次方根(开方)函数呢?
答:没有求次方根函数
# 那用什么求次方根(开方)?
答:还是用pow函数。
如:pow(9,1/2);pow(4,0.5) # 只需要把指数改成小数或分数
四、其他函数:
除了之前讲的函数之外,库函数中还有其他函数,如:求余mod ,随机数rand,三角函数sin,cos,tan,arc tan,圆周率pi等。
数据库的库函数相当于C语言的库函数差不多,C语言库函数里有的数据处理函数,数据库中基本都会有,但是Mysql中的函数不同于c语言中的函数,mysql中的函数只用于数据处理,不会进行其他命令行操作
除此之外,数据库还可以像C语言一样,自定义函数
自定义函数的创建:
创建自定义函数的基本格式:
create function 函数名 (函数参数 数据类型)
returns 返回值类型
begin
# 函数体
return (函数返回值)
end;
#8.0版本的数据库,增加了一个数据库安全选项
需要执行以下代码才能创建函数
set global log_bin_trust_function_creators = true;
-- 数据库中的函数只能用于数据处理,不可以用于实现其他功能
自定义函数function
文章来源地址https://www.toymoban.com/news/detail-433856.html
1、 函数创建
-- 求两个数的和
create function sum1(n int,m int)
returns int -- 给定函数的返回值类型
return n+m; -- 函数体
-- error code:1418.this function has none of determinstic,no sql,or ...........
-- 如果出现上面的报错,就是安全检查问题
-- 打开安全检查(如果自定义函数创建不了)
set global log_bin_trust_function_creators = true; -- 输入这条语句,可以解决报错
2、函数调用
select sum1(10,20);
3、自定义函数的删除
drop function sum1;
-- 数据库中自定义函数使用的特别少,不用详细了解
create function sum1(n int,m int)
returns int -- 给定函数的返回值类型
begin -- 相当于c/c++中的{
set n = n+m ; -- 复合语句
return n+m; -- 函数体
end; --相当于c/c++中的}
-- begin end 相当于c/c++中的括号
-- 数据库中自定义函数使用的特别少,不用详细了解
-- 如果在数据中进行数据处理时需要有用到函数的,一般使用数据库的库函数就基本能够完成了
-- 数据库中的函数只能用于数据处理,不可以用于实现其他功能
-- 数据库函数中无法执行sql语句
五、函数的调用与删除:
1、函数调用
函数调用的基本格式:
select 函数名 (函数参数);
2、用表格数据作为函数参数
select 函数名(表格属性) from 表名;
3、删除函数
drop function 函数名;文章来源:https://www.toymoban.com/news/detail-433856.html
到了这里,关于什么是数据库中的函数(库函数与自定义函数)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!