mysql - 变量

1. 分类:

1)系统变量

全局变量

会话变量

2). 用户变量

用户变量

局部变量

系统变量

1. 查看变量

显示所有系统【会话】变量: show global【session】 variables          #session可以省略,默认是会话变量

扫描二维码关注公众号,回复: 7752324 查看本文章

显示满足条件的变量: show global【session】 variables like ‘%char%’  #显示变量名包含char的变量

查看指定的变量: select @@global【session】.系统变量名       # SELECT @@global.'character_set_client';

2. 修改变量

set @@globa【lsession】.系统变量名 = 值

会话变量只对当前会话有效

系统重启后两种变量都会重置为默认值,想要永久生效需要修改配置文件

用户变量

作用于仅对当前会话有效

弱类型,变量不需要声明类型

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中试了不行,而且网上也没查到当前版本可以用的。。。直接在存储过程中试试。

猜你喜欢

转载自www.cnblogs.com/clamp7724/p/11797716.html