什么是数据库中的函数(库函数与自定义函数)

这篇具有很好参考价值的文章主要介绍了什么是数据库中的函数(库函数与自定义函数)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

数据库的库函数

一、聚合函数:

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 函数名;


 

到了这里,关于什么是数据库中的函数(库函数与自定义函数)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 零基础学MySQL(五)-- 详细讲解数据库中的常用函数

    提供 student 表 1️⃣count 函数 count 表示返回行的总数 (1)基本语法 (2)基本练习 统计一个班级共有多少学生? 统计数学成绩大于 90 的学生有多少个? 统计总分大于 250 的人数有多少? (3)注意细节 count(*) 和 count(列) 的区别: count(*) 返回满足条件的记录的行数 count(列

    2024年01月19日
    浏览(59)
  • 【Jetpack】使用 Room 中的 Migration 升级数据库异常处理 ( 多个数据库版本的迁移 | fallbackToDestructiveMigration() 函数处理升级异常 )

    Room Migration 数据库迁移工具 是 Android Jetpack Architecture Components ( 架构组件 ) 的一部分 , 它是一个方便的 数据库迁移工具 , 用于为 Android 中使用 Room 框架创建的数据库 提供 自动化迁移方案 ; Room Migration 数据库迁移工具用途如下 : 数据库修改 : 修改数据库表结构 ; 迁移代码 : 为

    2024年02月08日
    浏览(47)
  • 【Unity Shader】Shader中内置文件目录与自定义

    在unity shader中经常会使用一些 #include ,可以看这些文件包含了什么吗,当然可以,具体路径是在Unity安装目录下的 EditorDataCGIncludes 这里是在 EditorDataCGIncludes 目录下新建一个 mycginc 目录,里面新建一个 sbin.cginc 文件,这个文件命名好像还必须是 sbin.cginc 或者 sbin2.cginc ,

    2024年02月11日
    浏览(50)
  • Django的数据库操作中的F对象是什么东西?

    在Django中, F 对象是一个用于表示数据库字段的值的特殊对象。 它允许你在数据库层面进行原子操作,而不需要先将数据从数据库中检索到Python层再进行操作。 F 对象的使用通常涉及到数据库更新,特别是在处理并发操作时。 以下是 F 对象的主要特性和用法: 原子操作:

    2024年01月18日
    浏览(54)
  • 存储过程、触发器、游标、视图、自定义函数 字段类型、字段可空、统计字段、逻辑删除 权限系统数据库&无限极类别设计

    在数据库设计中,存储过程、触发器、游标、视图、自定义函数、字段类型、字段可空、统计字段、逻辑删除以及权限系统和无限级类别设计都是重要的概念。下面我将逐一解释这些概念,并提供相关的设计建议。 存储过程 (Stored Procedure) 定义 :存储过程是一组为了完成特定

    2024年03月09日
    浏览(127)
  • 在Django的数据库模型的类中,通常还会定义一个名叫Meta的内部类,这个类有什么作用?

    在Django的数据库模型中, Meta 类是一个内部类,用于定义一些与模型相关的元数据(metadata)。它提供了一种在模型类中指定各种选项和配置的方式。 以下是 Meta 类的一些常见用途和作用: 定义模型的数据库表名: 通过 db_table 选项可以指定模型对应的数据库表的名称。例如

    2024年02月12日
    浏览(52)
  • mysql数据库数据如何迁移目录

    默认位置 C:ProgramDataMySQLMySQL Server 8.0 步骤2中Data文件夹就是mysql存放数据的位置 这里举例移动到E盘下 原来my.ini文件不要修改文件位置,如果修改需要另行学习

    2024年02月07日
    浏览(80)
  • Mysql实现Linux下数据库目录迁移

    Centos中迁移Mysql的数据目录,一般是硬盘满了不够用,然后挂载了新的数据盘,那么就可以将Mysql数据迁移到新的数据盘。 可以查看pid后kill停止,可以进入目录stop,可以变量停止 复制当前目录到新目录 更改mysql数据存储路径

    2024年02月12日
    浏览(57)
  • 头歌MySQL数据库实训答案 有目录

    头歌MySQL数据库答案 特别感谢黄副班、小青提供代码,有问题联系公众号【学思则安】留言更正 其他作业链接 数据库1-MySQL数据定义与操作实战 MySQL数据库 - 初识MySQL MySQL数据库 - 数据库和表的基本操作(一) MySQL数据库 - 数据库和表的基本操作(二) MySQL数据库 - 单表查询

    2024年04月28日
    浏览(90)
  • 【个人博客系统网站】框架升级 · 工程目录 · 数据库设计

    【JavaEE】进阶 · 个人博客系统(1) 标准项目目录: controller ,前后端交互控制器,接受请求,[处理请求],调用service,将响应返回给前端 service ,调用数据持久层mapper层 mapper ,进行数据库操作 model ,实体类 common ,公共类,Utils工具类 utils是“utilities”的缩写,即工具、实

    2024年02月10日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包