十六、mysql 变量
1、系统变量
1) 全局变量
2) 会话变量
2、自定义变量
1) 用户变量
2) 局部变量
一、系统变量
说明:变量由系统提供,不是用户定义,属于服务器层面
注意:如果是全局级别,则需要加global,如果是会话级别,则需要家session,如果不写,则默认session。
使用的语法:
1) 查看所有的系统变量
show global|session variables;
2) 查看满足条件的部分系统变量
show global|session variables like ‘%char%’
3) 查看指定的某个系统变量的值
select @@global|session.系统变量名
4) 为某个系统变量赋值
a. set global|session.系统变量名=值
b. set @@global|session.系统变量名=值
二、自定义变量
说明:变量是用户自定义的,不是系统的
使用步骤:声明、赋值、使用(查看、比较、运算等)
1、用户变量
(1) 作用域:针对于当前会话(连接)有效,同于会话变量的作用域
(2) 声明并初始化(赋值的操作符: = 或 :=)
a. set @用户变量名=值;
b. set @用户变量名:=值;
c. select @用户变量名:=值;
(3) 赋值(更新用户变量的值)
a. 方式一:通过set或select
a) set @用户变量名=值;
b) set @用户变量名:=值;
c) select @用户变量名:=值;
b. 方式二:通过select into
select 字段 into 变量名 from 表;
2、局部变量
(1) 作用域:仅仅定义在它的begin end中有效
应用在begin end的第一句话
(2) 声明:
a. DECLARE 变量名 类型;
b. DECALRE 变量名 类型 DEFAULT 值;
(3) 赋值:
a. 方式一:通过set或select
a) set 局部变量名=值;
b) set 局部变量名:=值;
c) select @局部变量名:=值;
b. 方式二:通过select into
a) select 字段 into 局部变量名 from 表;
(4) 使用:
a. SELECT 局部变量名