变量分为:
一、系统变量:变量是由系统提供,不是用户定义,属于服务器层面的,不用我们定义,直接使用
全局变量
会话变量
二、自定义变量
用户变量
局部变量
一、系统变量
1、查看所有的系统变量
SHOW VARIABLES (不写关键字默认是会话变量)
SHOWGLOBLE VARIABLES (查看全局变量)
SHOWSESSION VARIABLES (查看会话变量)
2、查看满足条件的部分系统变量
Show global [ session] variable like ' %char%’
3、查看指定某个系统变量的值
Select @@系统变量名;
Select @@global.系统变量名;(全局)
Select @@session.系统变量名;(会话 或者不写)
4、为某个系统变量赋值
方式一:
Set global [session] 系统比变量名 = 值;
方式二:
Set @@globlal[session].系统变量名 = 值;
注意:如果是全局级别,则需要加global,如果是会话饥饿则需要加session,如果不写,则默认session
《一》全局变量
(作用域:服务器每次启动将为所有的全局变量赋初始值,针对所有的会话和连接都有效,不能跨重启)
1、查看所有的全局变量
Show global variables ;
2、查看部分全局变量
Show global variables like '%char%’
3、查看指定的全局变量的值
Select @@global.变量名;
4、为某个指定的全局变量赋值
Set @@global.autocommit=0;
《二》会话变量(仅仅针对当前会话(连接)有效)
1、查看所有的会话变量
Show session variables;(也可省略session)
2、查看部分的会话变量
Show variable like '%char%’;
Show session variables like '%char%’;
3、查看指定的某个会话变量值
Select @@tx_isolation;
Select @@session.tx_isolation;
3、为某个会话变量赋值
方式一:
Set @@session.tx_isolation = ' read-uncommitted’;
Set @@tx_isolation = ' read-uncommitted’;
方式二:
Set session tx_isolation = 'read-uncommitted’
二、自定义变量
说明:变量是用户定义的,不是系统的
使用步骤:声明 赋值 使用
《一》用户变量
作用域:针对于当前会话(连接)有效,同于会话变量的作用域,应用在任何地方也就是begin end 里面或begin end 外面
1、声明并初始化(说明:set 有两种声明方法,select只有一种申明方法)
Set @用户变量名=值;
Set @用户变量名:=值;
Select @用户变量名:=值;
2、赋值或者更新用户变量的值
方法一:再用一次声明初始化
Set @用户变量名=值;
Set @用户变量名:=值;
Select @用户变量名:=值;
方法二: 通过 select into
Select 字段 into @变量名;
《二》局部变量
作用域:仅仅在定义它的begin end 中有效
应用在begin end 当中第一句话
1、声明
DECLARE 变量名 类型
DECLARE 变量名 类型DEFAULT值(默认值要和前面定义的类型一致或者兼容)2、赋值
方法一:再用一次声明初始化
Set 局部变量名=值;
Set 局部变量名:=值;
Select @局部变量名:=值;
方法二: 通过 select into
Select 字段 into 局部变量名;
3、使用
Select 局部变量