前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >10-变量

10-变量

作者头像
Ywrby
发布2022-10-27 13:13:50
1470
发布2022-10-27 13:13:50
举报
文章被收录于专栏:Ywrby

系统变量

代码语言:javascript
复制
# 变量
/*
系统变量
		全局变量
		
		会话变量

自定义变量
		用户变量
		
		局部变量
*/

# 一。系统变量
# 变量由系统提供,不由用户定义,属于服务器层面
/*
使用语法:(不写global,session默认使用会话变量)
1. 查看所有系统变量
SHOW GLOBAL VARIABLES;   # 查看全局变量
SHOW 【SESSION】 VARIABLES;   # 查看会话变量
2. 查看满足条件的部分系统变量
SHOW GLOBAL VARIABLES LIKE 'CHAR';
SHOW 【SESSION】 VARIABLES LIKE 'CHAR';
3. 查看指定的某个系统变量
SELECT @@global.系统变量名;
SELECT @@【SESSION.】系统变量名;

4. 为某个具体的系统变量赋值
# 方式1
SET 【session.】系统变量名=值;  # 为会话变量赋值
SET GLOBAL.系统变量名=值  # 为系统变量赋值
#方式2
SET GLOBAL.系统变量名=值;
SET 【SESSION.】系统变量名=值;

*/

SHOW GLOBAL VARIABLES;   # 查看全局变量
SHOW SESSION VARIABLES;   # 查看会话变量

/*
全局变量作用域:服务器每次启动时将为所有的全局变量赋初始值,
赋值对所有会话(连接)都有效,但不能跨重启

会话变量作用域:仅仅针对于当前会话有效,,修改时也仅修改当前会话/连接的值
*/

自定义变量

代码语言:javascript
复制
# 自定义变量

/*
说明:变量由用户自定义,不由系统直接提供,
使用方式相对灵活,使用较多

使用步骤:
1. 声明
2. 赋值
3. 使用(查看,比较,运算等)
*/


# 用户变量
/*
作用域:针对当前会话/连接有效,同于会话变量的作用域

可以应用在任何地方
*/

# 用户变量声明时必须同时初始化(赋初值)
# 三种初始化方法
SET @用户变量名=值;
SET @用户变量名:=值;
SELECT @用户变量名:=值;

SET @v1=20;

# 赋值或更新用户变量的值
SET @用户变量名=值;
SET @用户变量名:=值;
SELECT @用户变量名:=值;
# 下面这种方式也可以用来赋值,只要保证选则出的结果是一个值而不是列表即可
SELECT 字段 INTO @变量名
FROM 表;

SET @v1:=35;

# 使用/查看用户变量值
SELECT @用户变量名;

SELECT @v1;




# 局部变量
/*
作用域:只在局部有效,即定义它的begin end中有效

应用在begin end中,并且只能在其中的第一句位置
*/

# 声明:
DECLARE 变量名 数据类型;
# 声明并初始化
DECLARE 变量名 数据类型 DEFAULT 值;

# 赋值,与用户变量的区别在于不需要在变量名前加@了(SELECT除外)
SET 局部变量名=值;
SET 局部变量名:=值;
SELECT @局部变量名:=值;
# 下面这种方式也可以用来赋值,只要保证选则出的结果是一个值而不是列表即可(不需要加@)
SELECT 字段 INTO 局部变量名
FROM 表;

# 使用
SELECT 局部变量名;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-04-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 系统变量
  • 自定义变量
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档