码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2018-05-14 16:48:14      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:select   lob   not   mic   学习   strong   declare   iter   returns   

知识点六: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)

标签:select   lob   not   mic   学习   strong   declare   iter   returns   

原文地址:https://www.cnblogs.com/darwinli/p/9036547.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!