【数据库学习】18 变量

mac2026-09-20  10

变量

分类

 一、系统变量

说明:变量由系统定义,不是用户定义,属于服务器层面。

注意:全局变量需要添加global关键字,会话变量需要添加session关键字,如果不写,默认会话级别。

使用步骤:

1、查看所有系统变量

show global variables;  #查看全局变量

show session variables;  #查看会话变量

2. 查看满足条件的部分系统变量

show global variables like '%char%';

3.查看指定的系统变量的值 

select @@global  |【session】系统变量名;

4.为某个系统变量赋值

方式一:

set global|【session】系统变量名=值;

方式二:

set @@global|【session】系统变量名=值;

全局变量

作用域:服务器每次启动将会为所有的全局变量的赋予初始值,针对于所有的会话有效,不能跨重启。

①查看所有全局变量

SHOW GLOBAL VARIABLES;

②查看满足条件的部分系统变量

SHOW GLOBAL VARIABLES LIKE '%a%';

③查看指定的系统变量的值

SELECT @@global.autocommit;

④为某个系统变量赋值

SET @@global.autocommit=0; 或 SET GLOBAL autocommit=0;

会话变量

作用域:仅仅针对于当前会话有效。

①查看所有会话变量

show session variables;

②查看满足条件的部分会话变量

show session variables like '%char%';

③查看指定的会话变量的值

select @@session.tx_isolation;

④为某个系统变量赋值

SET @@tx_isolation=0; 或 SET session tx_isolation=0;

二、自定义变量

变量由用户自定义,而不是系统提供的。

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

1.用户变量

作用域:针对当前会话有效,与会话变量的作用域相同

①声明并初始化

赋值操作符:= 或  :=

三种写法都可以:

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

 ②赋值(更新用户变量的值)

方式一:通过set或者select

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

方式二:     SELECT 字段 INTO @变量名     FROM 表;

③使用(查看变量的值)

SELECT @变量名;

2.局部变量

作用域:仅仅在定义它的begin end块中有效 应用在 begin end中的第一句话

①声明

DECLARE 变量名 类型; DECLARE 变量名 类型 【DEFAULT 值】;

 ②赋值(更新变量的值)

方式一:     SET 局部变量名=值;     SET 局部变量名:=值;     SELECT 局部变量名:=值;

方式二:     SELECT 字段 INTO 具备变量名     FROM 表;

③使用(查看变量的值) SELECT 局部变量名;

最新回复(0)