149-变量的介绍

本文介绍了MySQL中的变量类型,包括系统变量和用户自定义变量。系统变量是服务器层面的,而用户变量则局限于当前会话。用户变量的使用涉及声明、赋值和使用,其作用域仅限于当前会话,并可在BEGIN END块中使用,但通常需在第一条语句中定义。用户变量在语法上与局部变量有所不同,如不需要指定类型。

一、分类
1、系统变量:
①全局变量:由系统提供,不是用户定义,术语服务器层面

#使用语法
SHOW GLOBAL|[SESSION] VARIABLES;#查看所有的系统变量
show global variables like '^';#查看满足条件的部分系统变量
select @@global 系统变量名;#查看满足条件的部分系统变量
set global 系统变量名=;#为某个系统变量赋值
set @@global 系统变量名=;#为某个系统变量赋值
②会话变量:仅仅针对于当前会话(连续)有效
SHOW SESSION VARIABLES;#查看所有会话变量
SHOW VARIABLES;#查看所有会话变量
SHOW VARIABLES LIKE '%char%';#查看部分的会话变量
SELECT @@tx_isolation;#查看指定的某个会话变量
SELECT @@session.tx_isolation;#查看指定的某个会话变量
SET @@session.tx_isolation='read-uncommitted';
SET SESSION tx_isolation='read-commited';#为某个会话变量赋值
注意:如果是全局级别,则需要加global,如果是会话级别,则需要加session,如果不写,则默认session。

2、自定义变量:
变量是用户自定义的,不是由系统的。
①用户变量:
使用步骤:声明、赋值、使用

set @用户变量名=值或名;#声明或赋值
set @用户变量名:=值或名;#声明或赋值
select @用户变量名:=;#用select只用用:=
#例
set @name='john';
②局部变量:
放在begin end中的第一句话!!!
#声明
declare 变量名 类型;
declare 变量名 类型 default;

用户变量VS局部变量
作用域:当前会话,begin end中
位置:会话的任何地方,只能在begin end中,且为第一句
语法:必须加@符号,不用限定类型。一般不用加@符号,需要限定类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值