一、查看创建函数的功能是否开启: 
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. 力扣 ——4Sum (四数之和)python 实现

    题目描述: 中文: 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 targe ...

  2. javax.net.ssl.SSLKeyException: RSA premaster secret error

    环境jdk1.7, 调用第三方接口时,出现javax.net.ssl.SSLKeyException: RSA premaster secret error错误,解决方案,将jre/lib/ext所有 ...

  3. 关于python全局变量

    今天踩了一个坑,记录一下,避免后犯 在constant.py 中定义了一个全局变量 ZH_LIST= [],以个用于存储配置一些信息: 在views.py 中引用了这个ZH_LIST : 然后在app ...

  4. Quartz.Net 任务调度之简单任务(1)

    本文github链接 https://github.com/sunshuaize/cnBlogDemos/tree/master/Quartz.Net%20%E4%BB%BB%E5%8A%A1%E8% ...

  5. PHP clearstatcache() 函数

    定义和用法 clearstatcache() 函数清除文件状态缓存. PHP 会缓存某些函数的返回信息,以便提供更高的性能.但是有时候,比如在一个脚本中多次检查同一个文件,而该文件在此脚本执行期间有被 ...

  6. 2019牛客多校第五场H - subsequence 2 拓扑

    H - subsequence 2 题意 要你使用前\(m\)个小写字母构造一个长度为\(n\)的字符串 有\(m*(m-1)/2\)个限制条件: \(c_{1} .c_{2}. len\):表示除去 ...

  7. CKEditor的使用经历总结

    关于ckeditor的下载和引用网上有很多完整清晰的教程,就不在此多说了,主要说一些小问题. 这个插件,初次用的时候放不进背景图,放不进隐藏域,连class,id这些属性都放不进去,然后我进行了一些调 ...

  8. paper 139:qt超强绘图控件qwt - 安装及配置

    qwt是一个基于LGPL版权协议的开源项目, 可生成各种统计图.它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式 ...

  9. IDEA @Override is not allowed when implementing interface method(转载)

    近期研究idea,在编码过程发现报错:@Override is not allowed when implementing interface method .找到一个老外的回答,感觉挺有用的,记录下 ...

  10. python format函数的使用

    转载自:http://www.cnblogs.com/kaituorensheng/p/5709970.html python自2.6后,新增了一种格式化字符串函数str.format(),威力十足, ...