其他(二) -- 变量

分类

一、系统变量

  说明:变量有系统提供的,不用自定义

语法:

① 查看系统变量

SHOW 【GLOBAL|SESSION】 VARIABLES LIKE '';

如果没有显式声明 global 还是 session,则默认为 session

② 查看指定的系统变量的值
SELECT @@【GLOBAL|SESSION】 ,变量名;

如果没有显式声明 global 还是 session,则默认为 session

③ 为系统变量赋值

方式一:
SET 【GLOBAL|SESSION】 变量名 = 值;

方式二:
SET @@GLOBAL.变量名 = 值;

SET @@变量名 = 值;

1、全局变量

  服务器层面上的,必须拥有 super 权限才能为系统变量赋值,作用域为整个服务器,也就是针对于所有连接(会话)有效

2、会话变量

  服务器为每一个连接的客户端提供了系统变量,作用域为当前的连接(会话)

二、自定义变量

说明:

1、用户变量

作用域:针对于当前连接(会话)生效

位置:begin end 里面,也可以放在外面

使用:

① 声明并赋值

SET @变量名 = 值;
SET @变量名 := 值;
SELECT @变量名 := 值;

② 赋值(更新值)

方式一:

SET @变量名 = 值;
SET @变量名 := 值;
SELECT @变量名 := 值;

方式二:

SELECT 值 INTO @变量名 FROM 表;

③ 使用

SELECT @变量名;

2、局部变量

作用域:仅仅在定义它的 begin end 中有效

位置:只能放在begin end 中,而且只能放在第一句

使用:

① 声明

DECLARE 变量名 类型 【DEFAULT 值】;

② 赋值或更新

方式一:

SET 变量名 = 值;
SET 变量名 := 值;
SELECT @变量名 := 值;

方式二:

SELECT 值 INTO 变量名 FROM 表;

③ 使用

SELECT @变量名;

猜你喜欢

转载自www.cnblogs.com/xifengbuqi/p/9219799.html
今日推荐