首页 > 数据库 >MySQL篇:第七章_详解mysql存储过程&函数

MySQL篇:第七章_详解mysql存储过程&函数

时间:2023-09-18 14:47:26浏览次数:50  
标签:存储 函数 MySQL 详解 参数 sql mysql 过程 out

存储过程

含义:一组经过预先编译的sql语句的集合
好处:

1、提高了sql语句的重用性,减少了开发程序员的压力
2、提高了效率
3、减少了传输次数

分类:

1、无返回无参
2、仅仅带in类型,无返回有参
3、仅仅带out类型,有返回无参
4、既带in又带out,有返回有参
5、带inout,有返回有参
注意:in、out、inout都可以在一个存储过程中带多个

创建存储过程

语法:

create procedure 存储过程名(in|out|inout 参数名  参数类型,...)
begin
	存储过程体
end

类似于方法:

修饰符 返回类型 方法名(参数类型 参数名,...){方法体;}

注意

1、需要设置新的结束标记
delimiter 新的结束标记
示例:
delimiter $

CREATE PROCEDURE 存储过程名(IN|OUT|INOUT 参数名  参数类型,...)
BEGIN
	sql语句1;
	sql语句2;
END $

2、存储过程体中可以有多条sql语句,如果仅仅一条sql语句,则可以省略begin end

3、参数前面的符号的意思
in:该参数只能作为输入 (该参数不能做返回值)
out:该参数只能作为输出(该参数只能做返回值)
inout:既能做输入又能做输出

调用存储过程

call 存储过程名(实参列表)

函数

创建函数

学过的函数:LENGTH、SUBSTR、CONCAT等
语法:

CREATE FUNCTION 函数名(参数名 参数类型,...) RETURNS 返回类型
BEGIN
	函数体
END

调用函数

SELECT 函数名(实参列表)

函数和存储过程的区别

		关键字		调用语法	        返回值		应用场景
函数		FUNCTION	SELECT 函数()	只能是一个	一般用于查询结果为一个值并返回时,当有返回值而且仅仅一个
存储过程	        PROCEDURE	CALL 存储过程()	可以有0个或多个	一般用于更新

标签:存储,函数,MySQL,详解,参数,sql,mysql,过程,out
From: https://www.cnblogs.com/oten/p/17711801.html

相关文章

  • MySQL篇:第六章_详解mysql视图
    周末有朋友来上海没来得及更新,特此更两篇以正身视图含义:理解成一张虚拟的表视图和表的区别: 使用方式 占用物理空间 视图 完全相同 不占用,仅仅保存的是sql逻辑 表 完全相同 占用视图的好处:1、sql语句提高重用性,效率高2、和表实现了分离,提高了安全性视......
  • MySQL篇:第五章_详解DDL语言
    DDL语句库和表的管理库的管理:一、创建库createdatabase库名二、删除库dropdatabase库名表的管理:1.创建表CREATETABLEIFNOTEXISTSstuinfo( stuIdINT, stuNameVARCHAR(20), genderCHAR, bornDateDATETIME);DESCstudentinfo;2.修改表alter语法:ALTER......
  • 一文详解数据仓库的物理细粒度备份恢复
    本文分享自华为云社区《DTSETechTalk|第43期:数仓数据可靠保证——物理细粒度备份恢复》,作者:华为云社区精选。大数据时代,数据对企业的重要性不言而喻,如果发生数据丢失或因为误操作而造成数据丢失,将对企业的经营决策带来不可估量的损失。本期《备份恢复全掌握,数仓数据更安全》......
  • Linux安装MySQL(8.0)
    Linux安装MySQL(8.0)​ 下载安装包,官网地址:http://dev.mysql.com/downloads/mysql/​ 将安装包上传至服务器并解压,eg:tar-zxvfmysql-8.0.34-linux-glibc2.17-x86_64.tar.gz​ 将解压后的文件夹移动到/usr/local/mysql路径下并重命名,eg:mvmysql-8.0.34-linux-glibc2.17-x86_......
  • MySQL实战实战系列 03 事务隔离:为什么你改了我还看不见?
    提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就是转账,你要给朋友小王转100块钱,而此时你的银行卡只有100块钱。 转账过程具体到程序里会有一系列的操作,比如查询余额、做加减法、更新余额等,这些操作必须保证是一体的,不然等程序查完之后,还没做......
  • windows导出mysql(mysqldump)
      dump.batechooffclsecho正在初始化环境变量……echo.setbackup_date=%date:~0,4%%date:~5,2%%date:~8,2%setdb_name=db_testecho%backup_date%D:\mysql57\bin\mysqldump-hlocalhost-uudumpmonitor-pmysql-P13306%db_name%--default-character-set=ut......
  • Mysql常用处理
    日期处理时间格式化比较DATE_FORMAT(start_time,'%Y-%m-%d')=DATE_FORMAT(now(),'%Y-%m-%d')时间戳比较,注意有些时间戳会加3个000作为后缀,需格式化处理2.UNIX_TIMESTAMP(NOW())<=UNIX_TIMESTAMP(exam_date)实体字段为null设置配置全局处理字段注解@TableField(up......
  • MySQL 8.0 OCP 最新中文考试题库(如需完整版请联系作者)
    大家好!今天要给大家带来的是由Oracle公司研发的MySQL8.0认证考试试题本次试题是全网最全面的试题,总共包含123道。试题正确率在95%以上。对于在今年报考MySQL8.0中文版本的考生有很大的帮助。特别是考试时所遇到的题型,几乎是原题,本人刚考过,特来为大家分享49.使用带有新配置的旧......
  • MySQL 8.0 OCP 最新中文考试题库(如需完整版请联系作者)
    大家好!今天要给大家带来的是由Oracle公司研发的MySQL8.0认证考试试题本次试题是全网最全面的试题,总共包含123道。试题正确率在95%以上。对于在今年报考MySQL8.0中文版本的考生有很大的帮助。特别是考试时所遇到的题型,几乎是原题,本人刚考过,特来为大家分享49.使用带有新配置的旧......
  • MySQL实战实战系列 02 日志系统:一条SQL更新语句是如何执行的?
    前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。 那么,一条更新语句的执行流程又是怎样的呢? 之前你可能经常听DBA同事说,MySQL可以......