一、变量
系统变量:
全局变量:
作用域:服务器每次启动将为所有的全局变量赋初始值,针对于所有的会话和连接有效,但不能跨重启,如果更改了系统变量全局变量,重启后所有的变量仍然会重新赋初始值
会话变量:
作用域:仅针对于当前会话连接有效
自定义变量:
用户变量
局部变量
 
二、系统变量
变量由系统提供,不是用户定义,属于服务器层面
-- 1、查看会话全部系统变量
show session variables;
-- 2、查看全局的全部系统变量
show global variables;
-- 3、查看满足条件的部分系统变量(【session】表示该部分可以省略不写)
show global| 【session】 variables like '%char%';
-- 4、为某个系统变量赋值
方式一:
set global | 【session】 系统变量名=值;
方式二:
set @@global |@@session】.系统变量名=值;
set @@系统变量名=值;
-- 5、查看指定系统变量
select @@global |@@session】.系统变量名;

 

注:
如果是全局级别,则需要加global,如果是会话级别,则需要加session,如果不写,则默认session
 
三、自定义变量
变量是用户自定义的,不是由系统已经初始化生成的
使用步骤:
声明
赋值
使用(查看、比较、运算等)
1、用户变量
作用域:针对于当前会话(连接)有效,同于会话变量的作用域
可以应用在任何地方,也就是begin end里面或begin end外面
赋值操作符:=或:=(select 初始化必须使用:=)
声明并初始化:
set @用户变量名=值; 或
set @用户变量名:=值; 或
select @用户变量名:=值;
赋值(更新用户变量的值)
方式一:通过set或select
set @用户变量名=值; 或
set @用户变量名:=值; 或
select @用户变量名:=值;
方式二:通过select into
select 字段 into @用户变量名 from 表;(将字段值赋值给变量)
使用(查看用户变量的值)
select @用户变量名;
2、局部变量
作用域:仅仅在定义他的begin end中有效
应用在begin end的第一句话!!!!
声明:
declare 变量名 类型;
declare 变量名 类型 default 值;
赋值:
方式一:通过set或select
set 局部变量名=值; 或
set 局部变量名:=值; 或
select @局部变量名:=值;
方式二:通过select into
select 字段 into 局部变量名 from 表;(将字段值赋值给变量)
使用:
select 局部变量名;
-- 声明两个变量并赋初始值,求和,并打印
-- 1、用户变量
set @a='1';
set @b='2';
set @sum=@a+@b;
select @sum;
-- 2、局部变量
declare a int default 1;
declare b int default 2;
declare sum int;
set sum=a+b;
select sum;

 

 
posted on 2022-07-17 22:14  时光以北暮南城  阅读(31)  评论(0编辑  收藏  举报