「MySQL 」变量|存储过程|函数|流程控制结构

MySQL 变量|存储过程|函数|流程控制结构

1-变量

1.1系统变量:

​ 全局变量:作用域为整个服务器的变量,针对所有的连接有效

​ 会话变量:为每一个连接的客户端提供的系统变量,作用域为本此次会话

语法

查看: show [global session] variable like ‘’; 如果没有声明式global则默认为session

查看指定系统变量: select @@gloabal, 变量名

为系统变量名称赋值:

方式1:set global 变量名=值;

方式2:set @@global,变量名=值 ; 或 set @@变量名=值

1.2自定义变量:

用户变量:针对当前连接生效,作用在begin end 里,也可以在外面

声名与赋值(更新)

set @变量名=值;

set @变量名:=值;

select @变量名:=值;

select xx into @变量名 from表;

局部变量:仅能够放置在begin end 中有效,只能放置在第一句

声明:

declare 变量名 类型[default 值];

赋值:

方式1:

set 变量名=值;

set 变量名:=值;

select @变量名:=值;

方式2:

select xx into 变量名 from 表;

使用:

select 变量名

2-存储过程与函数

说明:都类似于java中的方法,将一组完成特定功能的逻辑语句包装起来,对外暴露名字

好处:
1、提高重用性
2、sql语句简单
3、减少了和数据库服务器连接的次数,提高了效率

2.1 存储过程

创建

create procedure 存储过程名称(参数类型 参数名 参数类型)

begin

​ 存储语句

end

注意:参数模式:in、out、inout,其中in可以省略;存储过程体的每一条sql语句都需要用分号结尾;

调用

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

调用in模式的参数:call sp1(‘值’);

调用out模式的参数:set @name; call sp1(@name);select @name;

调用inout模式的参数:set @name=值; call sp1(@name); select @name;

查看

show create procedure 存储过程名;

删除

drop procedure 存储过程名;

2.2 函数

创建

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

调用

select 函数名(实参列表);

查看

show create function 函数名;

删除

drop function 函数名;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值