MySQL基础—变量
变量介绍:
系统变量:变量由系统提供,不是用户定义,属于服务器层面
全局变量:作用域:服务器每次启动将为多有的全局变量赋初始值,针对于所有的会话(连接)有效,但不能跨重启,
会话变量:作用域:仅仅针对于当前的会话(连接)有效。
自定义变量:变量是用户自定义的,不是由系统提供的
用户变量:作用域:针对于当前会话(连接)有效,同于会话变量的作用域,应用在任何地方,也就是可以放在begin end 里面或者begin end外面。
局部变量:作用域:仅仅在定义它的begin end中有效。应用在begin end 中的第一句话。
一、系统变量。
语法:
1、查看所有的系统变量:
show global/session variable;
2、查看满足条件的部分变量:
show global/session variable like '%char%';
3、查看指定某个系统变量的值
select @@global/session.系统变量名;
4、为某个系统变量赋值
方式一:
set global/session系统变量名 = 值
方式二:
set @@global/session.系统变量名 = 值
注意:
如果是全局级别,则需要加global,如果是会话级别,则需要加session,如果不写,则默认是session。
二、自定义变量
使用步骤:
声明
赋值
使用(查看、比较、运算)
①声明并初始化
set @用户变量名 = 值;
set @用户变量名:=值;
select @用户变量名:=值;select :不可省略
②赋值(更新用户变量的值)
方式一:通过set或select
set @用户变量名 = 值;
set @用户变量名:=值;
select @用户变量名:=值;select :不可省略
方式二:通过select into
select 字段 into 变量名
from 表;
③、使用(查看用户变量的值)
select @用户变量名;
三、局部变量
①声明
declare 变量名 类型;
declare 变量名 类型 default 值;
②赋值
方式一:通过set或select
set 局部变量名 = 值;
set 局部变量名:=值;
select @局部变量名:=值;select :不可省略
方式二:通过select into
select 字段 into 局部变量名
from 表;
③使用
select 局部变量名
对比用户变量和局部变量
作用域 定义和使用位置 语法
用户变量 当前会话 会话中的任何位置 声明的语法不通,必须加上@符号,不用限定类型
局部变量 begin end中 只能在begin end 中,且为第一句话 一般不加@符号,需要限定类型
浙公网安备 33010602011771号