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;
-- 局部变量
本文来自博客园,作者:King-DA,转载请注明原文链接:https://www.cnblogs.com/qingmuchuanqi48/articles/15983218.html