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 BEGIN22 DECLARE rowResult int DEFAULT 0;23 SELECT COUNT(*) INTO rowResult FROM userinfo where username=uname;24 IF rowResult =0 THEN25 RETURN 用户不存在!;26 END IF;27 SELECT COUNT(*) INTO rowResult FROM userinfo where username=uname AND userpwd=pwd;28 IF rowResult =0 THEN29 RETURN 密码错误!;30 ELSE31 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;

相关文章