MySQL基础——变量
文章目录
MySQL的变量分为两大类:系统变量、自定义变量
1. 系统变量:
全局变量
会话变量
2. 自定义变量:
用户变量
局部变量
一、系统变量
1. 系统变量说明:
变量由系统提供,不是用户定义,属于服务器层面
2. 全局变量作用域:
服务器每次启动将为所有的全局变量赋初始值。针对所有的会话有效,但不能跨重启
3. 会话变量作用域:
仅仅针对于当前会话有效
4. 使用的语法:
1. 查看所有的系统变量
Show global | session variables;
2. 查看满足条件的部分系统变量
Show global | session variables like ‘%char%’;
3. 查看指定的某个系统变量的值
Select @@global | session .系统变量名;
4. 为某个系统变量赋值
Set global | session 系统变量名 = 值;
Set @@global | session .系统变量名 = 值;
注意:
如果时全局级别,则需要加global,如果是会话级别,则需要加session,如果不写,则默认是session
二、自定义变量
1. 自定义变量说明:
变量是用户自定义的,不是由系统
使用步骤:
声明
赋值
使用(查看、比较、运算等)
2. 用户变量
作用域:
针对于当前会话有效,同于会话变量的作用域
1) 声明并初始化
Set @用户变量名 = 值; 或
Set @用户变量名:=值; 或
Select @用户变量名:=值;
2) 赋值(更新用户变量的值)
方式一:
通过set或select
Set @用户变量名 = 值;或
Set @用户变量名:=值; 或
Select @用户变量名:=值;
方式二:
通过select into
Select 字段 into @变量名
From 表;
3) 使用(查看用户变量的值)
Select @用户变量名;
3. 局部变量
作用域:
仅仅在定义它大的begin end中有效
1) 声明
Declare 变量名 类型;
Declare 变量名 类型 default 值;
2) 赋值
方式一:
通过set或select
Set 局部变量名 = 值;或
Set 局部变量名:=值; 或
Select @局部变量名:=值;
方式二:
通过select into
Select 字段 into 局部变量名
From 表;
3) 使用(查看局部变量的值)
Select 用户变量名;
三、案例详解
#案例:声明两个变量并赋值初始化,求和,并打印
#1. 用户变量
Set @m=1;
Set @n=2;
Set @sum = @m+@n;
Select @sum;
#2. 局部变量
Declare m int default 1;
Declare n int default 2;
Declare sum int;
Set sum = m+n;
Select sum;