1.变量
1.系统变量:全局变量,会话变量。
2.自定义变量:用户变量,局部变量。
1.系统变量:变量由系统提供,不是用户定义,属于服务器层面。
#1、查看所有系统变量
show global variables; #查看全局变量
show session variables; #查看会话变量
show variables; #查看会话变量
#2、查看满足条件的部分系统变量
show global variables like '%char%';
#3、查看指定的某个系统变量的值。
select @@global.系统变量名
#4、为某个系统变量赋值
set global 变量名 = 值;
set @@global.系统变量名 = 值;
(1). 注意:服务器每次启动都为所有全局变量赋初始值。
(2).会话变量,仅仅针对当前会话连接有效
2.自定义变量
(1)、用户变量:作用域:针对于当前会话(连接)有效,同于会话变量的作用域。
赋值操作符: = or :=
#1.声明并初始化.
set @用户变量名 = 值;
set @用户变量名:= 值;
select @用户变量名 := 值;
#2.赋值 同上面语句
方式一: set @用户变量名 = 值;
set @用户变量名:= 值;
select @用户变量名 := 值;
方式二: select 字段名 into 变量名 from 表;
#3.使用(查看用户变量)
select @用户变量名;
(2)局部变量
作用域:仅仅在定义它的begin end 中有效。
应用范围:在begin end 中,只能是begin end 中的第一句话。
①声明:
#1.声明
declare 变量名 类型;
declare 变量名 类型 default 值;
#2.赋值
方式一: set 局部变量名 = 值;
set 局部变量名:= 值;
select 局部变量名 := 值;
方式二: select 字段名 into 局部变量名 from 表;
#3.使用
select 局部变量名.
2.存储方法
#注意参数列表由三部分: 参数模式 参数名 参数类型 IN stuname VARCHAR(20)
#参数模式有三种
IN :该参数可以作为输入,该参数需要调用方传入值。
OUT : 可以作为输出,也就是该参数可以作为返回值。
INOUT:
#1.创建语法
CREATE PROCEDURE 存储过程名(参数列表)
BEGIN
存储过程提(一组合法的SQL语句)
END
#2.调用语法
call 存储过程名(实参列表);