• 含义

一组预先编译好的SQL语句集合,可以理解成批处理语句

  1. 提高代码的重用性
  2. 简化操作
  3. 减少了编译次数并且减少了和数据库服务器的连接次数, 提高了效率

    区别 :

    存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、批量更新

    函数:有且只有一个返回,适合做处理数据后返回一个结果

创建语法

create function 函数名(参数列表) returns 返回类型
begin
函数体
end

注意:

  1. 参数列表 包含两部分:

    参数名 参数类型
  2. 函数体:肯定有return 语句,如果没有会报错

    如果 return 语句没有放到函数体的最后也不会报错,但不建议
  3. 函数体中仅有一句话,则可以省略begin end
  4. 使用delimiter语句设置结束标记

调用语法

select 函数名(参数列表)
  1. 空参数案例:
create function myfq1() returns INT
BEGIN
DECLARE num int default 0;
select count(*) into num from admins;
return num;
END select myfq1();
  1. 传参案例:
CREATE FUNCTION myf2 (username VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci) RETURNS VARCHAR (20)
BEGIN
SET @namee = '';
SELECT
NAME INTO @namee
FROM
admins
WHERE
admins.username = username;
RETURN @namee;
END
select myf2('zhangbinbin');

查看函数

show create function myf2;

删除函数

drop function myf2;

mysql 函数介绍的更多相关文章

  1. C++ 链接Mysql 函数介绍

    通过MySQL自己的API函数进行连接 1.使用API的方式连接,需要加载mysql的头文件和lib文件.在VS2010的附加包含目录中添加\MySQL\MySQL Server 5.1\includ ...

  2. MySQL常用函数介绍

    MySQL常用函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.操作符介绍 1>.操作符优先级 mysql; +----------+ | +----------+ ...

  3. MySQL函数find_in_set介绍

    MySQL函数find_in_set介绍 数据库中的某个字段我十以字符存储的,同时又以","隔开的.如果想要查询这个字段中包含某个字符串该怎么查询?使用like?感觉不妥,如果使用 ...

  4. MySQL 常用函数介绍

    MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 M ...

  5. MySQL中常用转换函数介绍

    Cast函数:CONVERT函数. 用法:CAST(expr AS type), CONVERT(expr,type) , CONVERT(expr USING transcoding_name). ...

  6. Mysql函数:Last_insert_id()语法讲解

    Mysql函数可以实现许多我们需要的功能,下面介绍的Mysql函数Last_insert_id()就是其中之一,希望对您学习Mysql函数能有所帮助. 自动返回最后一个INSERT或 UPDATE 查 ...

  7. mysql information_schema介绍

    mysql information_schema介绍 一.information_schema是什么 information_schema是MySQL自带的一个信息数据库,其保存着关于MySQL服务器 ...

  8. MYSQL函数 Cast和convert的用法详解

    MYSQL Cast函数是非常重要的MYSQL函数,下面就将为您详细介绍MYSQL Cast函数的语法及其使用,希望能让您对MYSQL Cast函数有更多的认识. BINARY     BINARY操 ...

  9. mysql性能优化-慢查询分析、优化索引和配置 MySQL索引介绍

    MySQL索引介绍 聚集索引(Clustered Index)----叶子节点存放整行记录辅助索引(Secondary Index)----叶子节点存放row identifier-------Inn ...

随机推荐

  1. java——什么是浅表副本

    ArrayList.clone(),hashtable.clone()方法返回此ArrayList的浅表副本(不复制这些元素本身),那么什么是浅表副本? 一个集合的浅度拷贝意味着只拷贝集合中的元素,不 ...

  2. jQuery基础2

    一.使用jQuery完成省市二级联动 遍历函数:方式一:$.each(callback) 方式二:$.each(object,[callback]) 代码: <!DOCTYPE html> ...

  3. 【python】Django自定义模板函数

    参考:https://blog.csdn.net/wenyuanhai/article/details/73656761 注意: 1.自定义模板函数的路径必须为APP的templatetags下:ap ...

  4. RF:win10跑用例过程中有中文日志会显示非中文

    问题:RobotFramework在win10跑用例过程中有中文日志会显示非中文,如截图: 解决:  C:\Python27\Lib\site-packages\robot\utils\unic.py ...

  5. springboot学习随笔(四):Springboot整合mybatis(含generator自动生成代码)

    这章我们将通过springboot整合mybatis来操作数据库 以下内容分为两部分,一部分主要介绍generator自动生成代码,生成model.dao层接口.dao接口对应的sql配置文件 第一部 ...

  6. Mac谷歌浏览器跨域

    1.创建一个文件夹,这个文件夹是用来保存关闭安全策略后的用户信息的,名字可以随意取,位置也可以随意放,我用的是MyChromeDevUserData open -n /Applications/Goo ...

  7. Android App专项测试(压力测试)

    转载https://blog.csdn.net/qq_29794757/article/details/64160303 转载https://blog.csdn.net/xuejiaodream/ar ...

  8. ThreadLocal总结

    一.问题抛出 SimpleDateFormat是非线程安全的,在多线程情况下会遇见问题: public static void main(String[] args) { ExecutorServic ...

  9. Linux chattr和lsattr命令使用方法

    你是否遇到过文件或目录具有可读写权限,但是使用root用户删除.修改时提示"Operation not permitted"的情况.可能是由于chattr设置了文件的隐藏保护权限导 ...

  10. Flyway数据表迁移框架的使用

    目录 1. 概述 2. Maven配置 3. SQL文件规范 4. 命令 5. 总结 1. 概述 Flyway是一个根据表结构快速生成数据表的工具,类似于Hibernate的自动生成表的特性. 官网: ...