MySQL变量、存储过程的删除和查看、存储过程空参、带in、带out、带inout案例演示——笔记7

发布于:2023-02-16 ⋅ 阅读:(521) ⋅ 点赞:(0)


前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、变量

1、系统变量

含义:变量由系统提供,不是用户定义,属于服务器层面。
语法:
1、查看所有的系统变量
show global|[session] variables;
2、查看满足条件的部分系统变量
show global|[session] variables like ‘%char%’;
3、查看指定的某个系统变量的值
show global|[session] .系统变量名;
4、为某个系统变量赋值
方式一:
set global|[session] 系统变量名 = 值;
方式二:
set @@global|[session] .系统变量名 = 值;

1、全局变量global
作用域:
服务器每次启动将为所有的全局变量赋初始值,针对于所有的会话(连接)有效,但不能跨重启。
在这里插入图片描述

2、会话变量session(不加也是会话变量)
作用域:仅仅针对于当前会话(连接)有效
在这里插入图片描述

2、自定义变量

含义·:变量是用户自定义的,不是由系统的
步骤:声明、赋值、使用(查看、比较、运算等)
1、用户变量
作用域:针对于当前会话(连接)有效,同于会话变量的作用域
1、声明并初始化
三种语法:
😀SET @用户变量名=值;
😀SET @用户变量名:=值;
😀SELECT @用户变量名:=值;
2、赋值(更新用户变量的值)
方式一:通过set或select
😀SET @用户变量名=值;
😀SET @用户变量名:=值;
😀SELECT @用户变量名:=值;
在这里插入图片描述
方式二:通过select into
😀select 字段 into @变量名 from 表;
在这里插入图片描述
3、查看
select @用户变量名
在这里插入图片描述

2、局部变量
作用域:仅仅在定义它的begin end 中有效
应用在begin end中的第一句话!
1、声明:
语法:
😪DECLARE 变量名 类型;
😪DECLARE 变量名 类型 DEFAULT 值;
2、赋值
方式一:通过set或select
😀SET 局部变量名=值;
😀SET局部变量名:=值;
😀SELECT @局部变量名:=值;
方式二:通过select into
😀select 字段 into 局部变量名 from 表;
3、使用
select 局部变量名;
全局变量和局部变量对比:
在这里插入图片描述

二、存储过程

1、存储过程简介

含义:一组预先编译的SQL语句的集合,理解成批处理语句。
好处:
😁提高代码的重用性
😁简化操作
😁减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率。
创建语法:
CREATE PROCEDURE 存储过程名(参数列表)
BEGIN
存储过程体(一组合法的SQL语句)
END
注意:
参数列表包含三部分:参数模式 参数名 参数类型
在这里插入图片描述

参数模式:
**IN:**该参数可以作为输入,也就是该参数需要调用方传入值
**OUT:**该参数可以作为输出,也就是该参数可以作为返回值
**INOUT:**该参数既可以作为输入又可以作为输出,也就是该参数既需要传入值,又可以返回值。
😯如果存储过程体仅仅只有一句话,DEGIN END可以省略。
😯存储过程体中的每条SQL语句的结尾要求必须加分号。
😯存储过程的结尾可以使用DELIMITER重新设置。
语法:
DELIMITER 结束标记
在这里插入图片描述
调用:
语法:CALL 存储过程名(实参列表);

2、存储过程的删除和查看

存储过程的删除

语法:DROP PROCEDURE 存储过程名;

不支持一次性删除多个存储过程
在这里插入图片描述

存储过程的查看
在这里插入图片描述

三、案例演示

1、空参的存储过程

在cmd运行
step1:
在这里插入图片描述
step2:创建
在这里插入图片描述

step3:调用
在这里插入图片描述
step4:查看
在这里插入图片描述

2、带in的存储过程

set names gbk$:切换编码显示中文
一个in类型案例

案例1:创建存储过程实现,根据女神名,查询对应的男神信息

在这里插入图片描述
俩个in
案例2:创建存储过程实现,用户是否登录成功

在这里插入图片描述

3、带out模式的存储过程

案例1:根据女神名,返回对应的男神名

在这里插入图片描述
案例2:根据女神名,返回对应的男神名和男神魅力值

在这里插入图片描述
在这里插入图片描述

4、带inout模式的存储过程

案例1:传入a和b俩个值,最终a和b都翻倍并返回
调用的时候名字与上面定义相不相同无所谓
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到