一、分类
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中,且为第一句
语法:必须加@符号,不用限定类型。一般不用加@符号,需要限定类型。
本文介绍了MySQL中的变量类型,包括系统变量和用户自定义变量。系统变量是服务器层面的,而用户变量则局限于当前会话。用户变量的使用涉及声明、赋值和使用,其作用域仅限于当前会话,并可在BEGIN END块中使用,但通常需在第一条语句中定义。用户变量在语法上与局部变量有所不同,如不需要指定类型。
22万+

被折叠的 条评论
为什么被折叠?



