变量概括图如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190531094344542.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzOTUyMjQ1,size_16,color_FFFFFF,t_70)
变量
- 系统变量:分为全局变量和会话变量
- 自定义变量:分为用户变量和局部变量
系统变量
系统变量:分为全局变量和会话变量
定义:即系统变量是由系统提供的,属于服务器层面的(即当服务器启动的时候,它会提供这样的一组系统变量并且赋予默认值供我们来使用)
注;由于系统变量是有系统提供的,因此不需要我们自己定义便可以使用。
使用语法如下:
1. 查看所有的系统变量
show global | session variables;
2. 查看满足条件的部分系统变量
show global | session variables like ‘%char%’; //例如查看包含字符’char’的系统变量
3 查看指定的某个系统变量的值
select @@系统变量名; //默认查看的是系统变量中的会话变量
select @@session.系统变量名; //查看系统变量中的会话变量
select @@global.系统变量名; //查看系统变量中的全局变量
4 .为某个系统变量赋值
方式一:set global | session 系统变量名 = 值;
方式二:set @@global.系统变量名 = 值;
set @@session.系统变量名 = 值;
注:如果系统变量是全局级别,则需要加global;如果是会话级别则需要加session。如果什么都不写,则默认是session级别
全局变量
全局变量的作用域:
服务器每次启动将为所有的全局变量赋初始值;它针对于所有的会话(连接)都有效,但是不能跨服务器(重启服务器将会失效)。
- 查看所有的全局变量:
Show global variables;
- 查看部分的全局变量
Show global variables like ‘%char%’; //查看包含字符’char’的全局变量
- 查看指定的全局变量
Select @@global.全局变量名;
Eg:select @@global.autocommit;
- 为某个指定的全局变量赋值
Set @@golbal.全局变量名 = 值;
Set @@global.autocommit = 0;
会话变量
作用域:仅仅针对于当前的会话(连接)有效
- 查看所有的会话变量
方法一:Show sessionl variables;
方法二:Show variables;
2.查看部分的会话变量
方法一:Show session variables like ‘%char%’; //查看包含字符’char’的会话变量
方法二:Show variables like ‘%char%’;
3查看指定的会话变量
方法一:Select @@session.会话变量名;
方法二:select @@会话变量名;
Eg:select @@session.tx_isolation;
Select@@tx_isolation;
4为某个指定的会话变量赋值
方法一:Set @@session 会话变量名 = 值;
方法二:set @@会话变量名 = 值;
Set @@session tx_isolation = ‘read-uncommitted’;
Set @@ tx_isolation = ‘read-uncommitted’;
1. 系统变量之全局变量和会话变量的比较:
注:这里的【】代表的是可以省略。
系统变量主要的应用就是‘使用’:即包含查看,更新赋值
系统变量 | 声明 | 查看所有对应变量 | 查看满足条件的指定变量 | 查看某个指定的变量 | 为某个指定变量赋值 |
---|---|---|---|---|---|
全局变量 | 由系统自定义,因此不需要声明 | Show global variables; | Show global variables like ‘%字符%’; | Select @@global.变量名; | set global 变量名 = 值;或者 Set @@golbal.变量名 = 值; |
会话变量 | 由系统自定义,因此不需要声明 | Show 【session】 variables; | Show 【session 】variables like ‘%字符%’; | Select @@【session.】变量名; | set session 变量名 = 值;或 Set @@【session 】变量名 = 值; |