mysql 自定义函数
发布时间:2022-09-13 16:10:45 所属栏目:MySql教程 来源:
导读: mysql 自定义函数,是对 mysql 扩展的途径,用法和内置函数相同
在工作中,使用 mysql 自带的函数不能满足需要,进而创建更贴近业务的自定义函数
1、创建自定义函数
自定义函数可以接收
在工作中,使用 mysql 自带的函数不能满足需要,进而创建更贴近业务的自定义函数
1、创建自定义函数
自定义函数可以接收
mysql 自定义函数,是对 mysql 扩展的途径,用法和内置函数相同 在工作中,使用 mysql 自带的函数不能满足需要,进而创建更贴近业务的自定义函数 1、创建自定义函数 自定义函数可以接收任意类型的参数,也可以返回任意类型的值 自定义函数基本语法格式如下 CREATE FUNCTION function_name RETURNS type routine_body function_name 是自定义函数的名字 type 是自定义函数返回值类型 routine_body 是自定义函数的函数体,即自定义函数的具体内容 1.1、创建无参数的自定义函数 返回数据库版本 create FUNCTION getversion() RETURNS varchar(25) return ( SELECT CONCAT('mysql数据库版本', VERSION())) 执行结果如下 定义函数指针指向函数_mysql自定义函数教程_mysql存储过程函数 1.2、创建有参数的自定义函数 两数求和 CREATE FUNCTION numadd(num1 int , num2 int) RETURNS INT RETURN num1 + num2 运行结果如下 定义函数指针指向函数_mysql自定义函数教程_mysql存储过程函数 1.3、创建具有复合结构函数体的自定义函数 首先创建一张用户表,并添加三条数据,sql 如下 DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `user_id` int(20) NOT NULL AUTO_INCREMENT, `name` varchar(20) DEFAULT NULL, `addr` varchar(20) DEFAULT NULL, PRIMARY KEY (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of user -- ---------------------------- INSERT INTO `user` VALUES ('1', '蔺相如', '山西'); INSERT INTO `user` VALUES ('2', '陈子昂', '四川'); INSERT INTO `user` VALUES ('3', '李开先', '山东'); 创建自定义函数如下 添加一条记录,返回最新的总记录数 create FUNCTION addcount(name1 VARCHAR(20), addr1 VARCHAR(20)) RETURNS INT BEGIN insert into user(name, addr) values(name1, addr1); return (select count(1) from user); end 注意:笔者这里使用的是navicat 和 mysql5.7.25 版本,如果读者使用的是 mysql 命令行客户端,需要使用DELIMITER $$ 定义结束符,因为上边语句中的 ";" 会被mysql 命令行客户端识别为结束符,因此在有";"的函数体中,需要读者额外定义结束符 DELIMITER $$? create FUNCTION addcount(name1 VARCHAR(20), addr1 VARCHAR(20)) RETURNS INT BEGIN insert into user(name, addr) values(name1, addr1); return (select count(1) from user); end $$? 运行结果如下 2、删除自定义函数 语法格式如下 DROP FUNCTION [IF EXISTS] function_name function_name 需要删除的自定义函数名 删除自定义函数 删除前边创建的自定义函数 addcount DROP FUNCTION IF EXISTS addcount 或 DROP FUNCTION addcount 3、使用navicat 操作自定义函数 3.1、创建自定义函数 打开navicat 软件,点击上方的函数图标、点击新建函数 选择函数 设置参数 这里先建一个无参数的自定义函数,选择下一步 设置返回值类型mysql自定义函数教程,点击完成 定义函数体,保存 设置函数名mysql自定义函数教程,确定 这里是GETVERSION 自定义函数创建完成 测试调用 个人感觉使用navicat 创建自定义函数并没有简单多少,反而步骤繁琐,不如直接使用命令创建 3.2、删除自定义函数 选择要删除的函数,直接点击删除或鼠标右键删除 确定 删除 删除完成 (编辑:拼字网 - 核心网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |