一、查看创建函数的功能是否开启: 
mysql> show variables like '%func%'; 
+-----------------------------------------+-------+ 
| Variable_name                            | Value | 
+-----------------------------------------+-------+ 
| log_bin_trust_function_creators | ON    | 
+-----------------------------------------+-------+ 
1 row in set (0.02 sec)
二、如果Value处值为OFF,则需将其开启。 
mysql> set global log_bin_trust_function_creators=1; 
三、创建函数时,先选择数据库, 
mysql> use xxx; 
Database changed 
delimiter $$是设置 $$为命令终止符号,代替分号,因为分号在begin...end中会用到; 
mysql> delimiter $$ 
CREATE FUNCTION first_func(param1 varchar(5),parmam2 varchar(5),param3 varchar(10)) 
RETURNS TINYINT 
BEGIN 
   RETURN 1; 
END 
函数创建成功后需恢复分号为命令终止符号。 
mysql> delimiter ; 
四、测试: 
mysql> select first_func('aaa','bbb','ccc'); 
+-------------------------------+ 
| first_func('aaa','bbb','ccc') | 
+-------------------------------+ 
|                             1 | 
+-------------------------------+ 
1 row in set (0.47 sec) 
五、删除函数: 
mysql> drop function first_func ; 
Query OK, 0 rows affected (0.11 sec) 
六、查看函数 
1) show function status 
显示数据库中所有函数的基本信息  
2)查看某个具体函数

mysql>show create function function;

以上出自:http://blog.csdn.net/tfhui928/article/details/6058074

举例:

--查看创建函数功能是否开启
SHOW VARIABLES LIKE '%func%';

--开启创建函数功能,将variable_name设置为1
SET GLOBAL log_bin_trust_function_creators=1;

--查看数据库中所有函数
SHOW FUNCTION STATUS;

--查看具体的函数
SHOW CREATE FUNCTION test_func

--删除函数
DROP FUNCTION test_func

--创建查询函数
DELIMITER $$
CREATE FUNCTION test_func(param1 VARCHAR(20),param2 INT,param3 CHAR(5))
RETURNS  INT
BEGIN
    DECLARE ret_val INT;--定义变量
    SELECT MAX(id) INTO ret_val FROM test;
 RETURN ret_val;
 
END

--执行函数
SELECT test_func('var',45,'char');

--创建赋值函数
DELIMITER $$
CREATE FUNCTION test_func1(param1 INT,param2 VARCHAR(20))
RETURNS INT
BEGIN
    DECLARE return_val INT;
    DECLARE val INT DEFAULT 2;
    IF val>1 THEN
        SET return_val = val;
    ELSE
        SET return_val = 1;
    END IF;
 RETURN return_val;
END

--执行函数
SELECT test_func1(1,'admin');

转自:http://my.oschina.net/u/1273696/blog/181995

mysql中创建函数的更多相关文章

  1. mysql中创建函数时报错信息

    报错信息如下 ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its ...

  2. mysql 中创建存储过程

    mysql中创建存储过程和存储函数虽相对其他的sql语言相对复杂,但却功能强大,存储过程和存储函数更像是一种sql语句中特定功能的一种封装,这种封装可以大大简化外围调用语句的复杂程度. 首先以表emp ...

  3. 在MySQL中创建实现自增的序列(Sequence)的教程

    这篇文章主要介绍了在MySQL中创建实现自增的序列(Sequence)的教程,分别列举了两个实例并简单讨论了一些限制因素,需要的朋友可以参考下 项目应用中,曾有以下一个场景: 接口中要求发送一个int ...

  4. mysql中的函数与存储过程

    mysql中的函数:1 mysql下创建函数: 1.1 语法: delimiter $$ -- 设置分隔符,默认是; 设置成其他符号,让编译器知道我们函数编写的结束,此处设置成$$ create fu ...

  5. MySQL中count函数使用方法详解

      count函数是用来统计表中或数组中记录的一个函数,下面我来介绍在MySQL中count函数用法与性能比较吧. count(*) 它返回检索行的数目, 不论其是否包含 NULL值. SELECT ...

  6. thinkphp中的内置操作数据库与mysql中的函数汇总

    8.4.4 Model类getModelName() 获取当前Model的名称getTableName() 获取当前Model的数据表名称switchModel(type,vars=array()) ...

  7. NET MVC全局异常处理(一) 【转载】网站遭遇DDoS攻击怎么办 使用 HttpRequester 更方便的发起 HTTP 请求 C#文件流。 Url的Base64编码以及解码 C#计算字符串长度,汉字算两个字符 2019周笔记(2.18-2.23) Mysql语句中当前时间不能直接使用C#中的Date.Now传输 Mysql中Count函数的正确使用

    NET MVC全局异常处理(一)   目录 .NET MVC全局异常处理 IIS配置 静态错误页配置 .NET错误页配置 程序设置 全局异常配置 .NET MVC全局异常处理 一直知道有.NET有相关 ...

  8. 一、MySQL中的索引 二、MySQL中的函数 三、MySQL数据库的备份和恢复 四、数据库设计和优化(重点)

    一.MySQL中的索引###<1>索引的概念 索引就是一种数据结构(高效获取数据),在mysql中以文件的方式存在.存储建立了索引列的地址或者指向. 文件 :(以某种数据 结构存放) 存放 ...

  9. mysql中now()函数的使用,还有oracle的sysdate,可能埋下的坑

    mysql中now()函数的使用,还有oracle的sysdate 在需求中如果系统中药添加当前操作的时间那么很简单的一个操作在写sql的时候直接在这个字段对应的位置写上now()函数就可以了,这样就 ...

随机推荐

  1. Bootstrap 网页1

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  2. 使用 sar 查看网卡的流量

    1.常用命令 sar -n DEV #查看当天从零点到当前时间的网卡流量信息 sar -n DEV 1 10 #每秒显示一次,共显示10次 sar -n DEV -f /var/log/sa/saxx ...

  3. Python自动补全缩写意义

    自动补全的变量的类别p:parameter 参数 m:method 方法(类实例方法)调用方式classA aa.method()或者classA().method() c:class 类 v:var ...

  4. OpenCV常用基本处理函数(5)图像模糊

    2D卷积操作 cv.filter2D() 可以让我们对一幅图像进行卷积操作, 图像模糊(图像平滑)使用低通滤波器可以达到图像模糊的目的.这对与去除噪音很有帮助.其实就是去除图像中的高频成分(比如:噪音 ...

  5. emoji处理方法

    在做微信公众号开发时碰到了获取微信基本信息的需求,但是在像数据库保存用户昵称的时候出错了, 出错原因是微信用户的昵称中包含emoji等特殊符号,表情图片, mysql数据库使用的是utf8,最大存储3 ...

  6. 【MVC】Spring WebFlux

    一.什么是 Spring WebFlux 下图截自 Spring Boot 官方网站: 结合上图,在了解 Spring WebFlux 之前,我们先来对比说说什么是 Spring MVC,这更有益我们 ...

  7. 硬盘监控和分析工具:Smartctl

    https://linux.cn/article-4682-1.html Smartctl(S.M.A.R.T 自监控,分析和报告技术)是类Unix系统下实施SMART任务命令行套件或工具,它用于打印 ...

  8. 工厂方法配置bean

    1:静态工厂方法配置bean 1):对象 package com.spring.helloworld; public class Car { private String name; private ...

  9. php number_format()函数 语法

    php number_format()函数 语法 number_format()函数怎么用? php number_format()函数表示通过千位分组来格式化数字,语法是number_format( ...

  10. 2019牛客多校第四场D-triples I 贪心

    D-triples 题意 给你一个\(n\),问至少有几个数或运算起来可以等于\(n\),并且输出数量和这个几个数.题目说明给的\(n\)一定符合条件(不会输出\(n= 1\) 之类不存在情况). 思 ...