mysql - 变量
1. 分类:
1)系统变量
全局变量
会话变量
2). 用户变量
用户变量
局部变量
系统变量
1. 查看变量
显示所有系统【会话】变量: show global【session】 variables #session可以省略,默认是会话变量
显示满足条件的变量: show global【session】 variables like ‘%char%’ #显示变量名包含char的变量
查看指定的变量: select @@global【session】.系统变量名 # SELECT @@global.'character_set_client';
2. 修改变量
set @@global【session】.系统变量名 = 值
会话变量只对当前会话有效
系统重启后两种变量都会重置为默认值,想要永久生效需要修改配置文件
用户变量
作用于仅对当前会话有效
弱类型,变量不需要声明类型
1. 声明并初始化:
set @变量名 = 值 # 1个@,系统是2个
set @变量名 := 值
select @变量名 := 值
2.修改(赋值): #和初始化一样。
set @变量名 = 值
set @变量名 := 值
select @变量名 := 值
select 字段 into @变量名 from 表; # 和oracle差不多,不过oracle不用带@
和常量使用方法类似。
SELECT userid INTO @uid FROM account WHERE id = 2; #赋值给uid SELECT * FROM userinfo WHERE uid = @uid; #使用uid , 因为有@区分,所以可以重名 SELECT @uid; #显示uid的值
局部变量
不用加 @符号。
仅在作用域中有效(begin end之间)。
声明只能是在begin end之间的开始。
声明:
declear 变量名 类型 【default 默认值】;
使用:
使用方法和用户变量基本一样。
- -视频上的方法直接在begin end中试了不行,而且网上也没查到当前版本可以用的。。。直接在存储过程中试试。