MySQL 函数
作者:迹忆客
最近更新:2024/03/25
浏览次数:
本文介绍如何在 MySQL 中使用和创建一个简单的函数。
MySQL 中的函数
是什么
在 MySQL 编程语言中,函数
是一组语句,它们执行一组行并返回一个值。
当功能块被外部调用时,这组代码执行业务逻辑,而转换恰好返回 void 或任何单独的值。
函数有助于在保存和检索数据之前处理数据。它有多种类型,如单值或多个参数函数。
我们可以从函数中获得的好处包括:
- 在不同的地方使用相同的功能进行一些操作。
- 一处改动,处处可见效果。
- 功能易于维护。
- 它允许代码共享和所有用途的一致性。
- 减少相同任务的返工和重复使用现有功能。
MySQL 中的函数原型或语法如下。
CREATE FUNCTION function_name [ (parameter datatype [, parameter datatype]) RETURNS return_datatype
BEGIN
Declaration_section
Executable_section
END;
让我们对上述语法有更多的见解和细节。
- 语法以
CREATE FUNCTION
语句开头;它在内部表示 MySQL,需要创建一个新方法。 - 在 function 关键字之后,
function_name
是特定名称,表示行块是所提供语句的别名。当给定函数名时,用户尝试执行给定的集合以执行所需的函数。 - 在函数名旁边,可以有
n
个参数作为参数传递给函数。参数列表由变量名和变量数据类型两部分组成。
3.1。变量名可用于函数操作逻辑。发生转换的语句集使用参数变量来处理接收到的数据。
3.2 变量名后的数据类型声明限制使用传递定义的参数。数据类型作为主要验证来验证传递的参数。 RETURNS
关键字指定下一个值是函数的单个返回值。Return_datatype
是函数返回值的数据类型。它还包括数据类型的大小,例如VARCHAR(20)
。BEGIN
关键字在内部指定关键字旁边的行是执行下一组行的起点。它表明这是功能块的开始。Declaration_section
是声明所有变量的功能块的位置或顶部。Executable_section
是实际代码行用于操作的块。这些行是执行业务转换逻辑的确切行。END;
是指定块结束的终端关键字。该关键字与BEGIN
语句结合使用。该语句说明了块的开始和结束。
在 MySQL 中使用 CREATE FUNCTION
创建函数
创建函数的先决条件是:
- 有一个正确的 MySQL 连接并保持服务器正常运行。
- 创建一个数据库并在需要创建函数的地方使用该数据库(例如:
myFirstDb
)。 - 预先创建一个可以调用函数的表(例如:
stu_name
)。 - 在函数起作用的表中输入一些条目并做出响应。
CREATE TABLE `stu` (
`id` varchar(255) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`dob` date DEFAULT NULL
);
INSERT INTO `myFirstDb`.`stu`(`id`,`name`,`dob`) VALUES ('111','Test',DATE('1970-01-08'));
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `get_stu_name`(stu_id VARCHAR(50)) RETURNS varchar(50) CHARSET utf8mb4
BEGIN
declare stu_name varchar(50) ;
select name into stu_name from myFirstDb.stu where id = stu_id;
RETURN stu_name;
END$$
DELIMITER ;
当我们使用带有 SELECT
关键字的函数名时,会发生以下函数调用。调用语句如下所示。
Select get_stu_name('111');
调用语句将参数 1
作为学生 ID 传递并执行该函数。要成功运行函数名称,必须存在一个学生表,其中 id
作为属性之一。
当记录存在时,该函数将与学生 ID 对应的学生姓名返回为 1。
相关文章
使用 Mysqldump 备份 MySQL 中的数据
发布时间:2023/05/09 浏览次数:217 分类:MySQL
-
本篇文章将介绍如何使用 mysqldump 只备份数据。 在这里,我们将探讨 --no-create-info 、--compact 、--skip-triggers 和 --no-create-db 选项。