变量分为系统变量和用户自定义变量,顾名思义,系统变量就是系统定义好的一些变量,这些变量是固定的,而用户变量不是固定的,用户可以根据需求来定义且使用。
- 系统变量
系统变量又分为全局系统变量和会话系统变量,全局系统变量的修改影响所有的会话,而会话变量的修改只影响当前会话。
- 查看系统变量
show global variables
- 查看时筛选
show global variables like '%char%'
- 查看会话变量
show session variables
注意:如果global或是session省略,则默认是会话变量
- 查看某个特定的变量
select @@global.max_connections;
系统变量以连个@开头,@@后面是global为查看系统变量,@@后面是session是查看会话变量。
- 修改变量的值
set @@global .max_connections = 3000;
再次查看
-
用户变量
-
用户会话变量,用户声明以后,只要当前连接不关闭,就会一直保存在服务器内存中,会话与会话之前变量有隔离性。
- 用户会话变量定义
set @count = 0;
set @count := 1;
select @count;
- 定义用户变量,批量更新sql
set @indexcount := 0;
update emp set count = (@indexcount := @indexcount + 1);
select *
from emp;
- 用户自定义变量只能用在begin end 中 暂不讲述。