mysql存储过程

查看

-- 查询指定数据库的存储过程及状态
select * from information_schema.routines where routine_schema='xxx';
-- 查询某个存储过程的定义
show create procedure 存储过程名称;

删除

drop procedure [if exists] 存储过程名称;

在命令行中,执行创建存储过程的sql时,需要通过关键字delimiter指定sql语句的结束符

变量

系统变量是mysql服务器提供,不是用户定义的,属于服务器层面。氛围全局变量(global),回话变量(session)。

查看系统变量
-- 查看所有系统变量
show [session|global] variables;
-- 可以通过like模糊匹配方式查找变量
show [session|global] variables like 'xxx';
-- 查看指定变量的值
select @@[session|global] 系统变量名;
设置系统变量
set [session|global] 系统变量名=;
set @@[session|global] 系统变量名=;
用户自定义变量

用户定义变量是用户根据需要自己定义的变量,用户变量不用提前声明,在用的时候直接用@变量名 使用就可以。其作用域为当前连接。

-- 赋值
set @var_name = expr[,@var_name=expr]...;
set @var_name := expr[,@var_name:=expr]...;

select @var_name:=expr[,@var_name:=expr]...;
select 字段名 into @var_name from 表名;

-- 使用
select @var_name;
局部变量

局部变量 是根据需要定义的在局部生效的变量,访问之前,需要DECLARE声明。可用作存储过程内的局部变量和输人参数,局部变量的范围是在其内声明的BEGIN...END块。

-- 声明
declare 变量名 变量类型[default...];
-- 变量类型就是数据库字段类型:int、bigint、char、varchar、date、time等

-- 赋值
set 变量名 =;
set 变量名 :=;
select 字段名 into 变量名 from 表名...;
if
if 条件1 then
	...
elseif 条件2 then
	...
else
	...
end if;

请添加图片描述

create procedure 存储过程名称 ([in/out/inout 参数名 参数类型])
begin
	-- sql语句
end;

请添加图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值