系统变量:该变量由系统提供,不是用户定义的,属于服务器层面
可分为
全局变量
会话变量
使用的语法:
1.查看所有的系统变量:
show global/session variables;
2.查看满足条件的部分系统变量
show global/session variables like '%cahr%';
3.查看指定的某个系统变量的值
select @@global/session.系统变量名;
4.为某个系统变量赋值
方式一:
set golbal/session 系统变量名 = 值;
方式二:
set @@global/session.系统变量名=值;
注:如果是全局变量,则需要加global;如果是会话级别,则需要加session;什么都不写,默认为session
①查看所有的全局变量
show global variables ;
②查看部分的全局变量
show global variables like '%char%';
③查看指定的全局变量的值
select @@global.autocommit;
select @@tx_isolation;
④为某个指定的全局变量赋值
set @@global.autocommit=0;
作用域:服务器每次启动将为所有的全局变量赋予初始值,针对于所有的会话(连接)有效,但是不能跨重启
自定义变量:变量是用户自定义的,不是由系统的
使用步骤:
①声明②复制③使用(查看、比较、运算等)
可分为
用户变量
作用域:针对于当前会话(连接)有效,同于会话变量的作用域
①声明并初始化:
赋值的操作符“:=”
set @用户变量名=值;
set @用户变量名:=值;
select @用户变量名:=值;
②赋值(更新用户变量的值)
方式一:通过set或select
set @用户变量名=值;
set @用户变量名:=值;
select @用户变量名:=值;
方式二:通过select into
select 字段 into 变量名
from 表;
局部变量