MYSQL进阶学习笔记五:MySQL函数的创建!(视频序号:进阶_13)

Posted Aiuner

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL进阶学习笔记五:MySQL函数的创建!(视频序号:进阶_13)相关的知识,希望对你有一定的参考价值。

知识点六:mysql函数的创建(13)

内置函数:

自定义函数:

  首先查看是否已经开启了创建函数的功能:

    SHOW VARIABLES LIKE ‘%fun%’;

  如果变量的值是OFF,那么需要开启

    set global log_bin_trust_function_creators=1;

  创建函数的语法:

    CREATE FUNCTION 函数名(变量1,变量2……)

      RETURNS 数据类型

      BEGIN

      ……执行的程序代码

      RETURN 数据;

    END;

技术分享图片
1 --默认数据
2 CREATE TABLE IF NOT EXISTS userinfo(
3 userid int(11) NOT NULL AUTO_INCREMENT KEY,
4 username varchar(20) DEFAULT NULL,
5 userpwd varchar(20) DEFAULT NULL,
6 );
7 
8 INSERT INTO userinfo VALUES(1,admin,123),(2,test,test),(4,yy,ko),(5,yy,ko);
默认数据
技术分享图片
 1 --13 函数的创建
 2 --求两个数的和
 3 DELIMITER //
 4 CREATE  FUNCTION fun_add(a int, b int)
 5 RETURNS int
 6 BEGIN
 7     RETURN a+b;
 8 END 
 9 //
10 
11 DELIMITER ;
12 SELECT  fun_add(1,2);
13 
14 SHOW CREATE FUNCTION fun_add;
15 
16 
17 --用户登陆检测
18 DELIMITER //
19 CREATE  FUNCTION fun_login(uname VARCHAR(20), pwd VARCHAR(20))
20 RETURNS VARCHAR(20)
21 BEGIN
22     DECLARE rowResult int DEFAULT 0;
23     SELECT COUNT(*) INTO rowResult FROM userinfo where username=uname;
24     IF rowResult =0 THEN
25         RETURN 用户不存在!;
26     END IF;
27     SELECT COUNT(*) INTO rowResult FROM userinfo where username=uname AND userpwd=pwd;
28     IF rowResult =0 THEN
29         RETURN 密码错误!;
30     ELSE
31     RETURN 登陆成功!;
32     END IF;
33 END 
34 //
35 
36 DELIMITER ;
37 SELECT  fun_login(admin,123);
函数的创建测试

 

函数的管理:

  查看数据库下的函数:

    SELECT * FROM mysql.func;或者 SHOW FUNCTION status;

  查看函数内容:

    SHOW CREATE FUNCTION fun_name;

  删除函数:

    DROP FUNCTION IF EXISTS fun_name;

以上是关于MYSQL进阶学习笔记五:MySQL函数的创建!(视频序号:进阶_13)的主要内容,如果未能解决你的问题,请参考以下文章

mysql 进阶查询(学习笔记)

MYSQL进阶学习笔记三:MySQL流程控制语句!(视频序号:进阶_7-10)

MYSQL进阶学习笔记十六:MySQL 监控!(视频序号:进阶_35)

MySQL学习笔记五

MYSQL进阶学习笔记九:MySQL事务的应用!(视频序号:进阶_21-22)

MySQL学习笔记