mysql 之变量

变量

系统变量

说明:变量由系统提供,不是用户定义的,属于服务器层面
使用的语法

-- 1.查看所有的系统变量
show global  variables;
show session  variables;

-- 2。查看满足条件的部分系统变量
show global variables like '%char%';
show session variables like '%char%';

-- 3.查看至in的过的某个系统变量的额值
select @@gloable.变量名;
select @@session.变量名;

-- 4。为某个系统变量赋值
set global 系统变量=值;
set session 系统变量=值;

set @@session 系统变量=值;
set @@global 系统变量=值;


全局变量

作用域:服务器每次启动将为所有的全局变量赋初始值,针对于所有的会话连接都是有效的,不能哭啊重启。

会话变量

作用域:仅仅针对于当前会话有效

自定义变量

变量是用户自己定义的,不是由系统定义的。

用户变量

针对于当前会话连接有效,同于会话便利那个的作用域。

1. 声明并初始化变量
set @用户变量=值;
set @用户变量:=值;
select @用户变量:=值;

2.赋值
set @用户变量=值;
set @用户变量:=值;
select @用户变量:=值;
select 字段 into 局部变量名 from 表;

局部变量

作用域:仅仅定义在begin,end之间有效

Declare 变量名 类型;
Declare 变量名 类型 default 值;

set @用户变量=值;
set @用户变量:=值;
select @用户变量:=值;
select 字段 into 局部变量名 from 表;

对比用户变量和局部变量:

名称 作用域 定义和使用的位置 语法
用户变量 当前会话 会话中的任何地方 必须加@符号,不用限定类型
局部变量 begin end中 只能在begin end中,且为第一句话 一般不用加@符号,用限定类型
-- 用户变量
set @m=1;
set @n=2;
set @sum = @m+@n;
select @sum;

-- 局部变量

posted @ 2022-03-09 00:01  King-DA  阅读(23)  评论(0)    收藏  举报