Mysql数据库中的系统变量和自定义变量的使用步骤和语法

Posted 陕西五花肉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql数据库中的系统变量和自定义变量的使用步骤和语法相关的知识,希望对你有一定的参考价值。

变量

系统变量:
全局变量
会话变量
自定义变量:
用户变量
局部变量

一.系统变量

说明:
变量由系统提供,不是用户定义,属于服务器层面
注意:
如果是全局级别,则需要加global,如果是会话级别,则需要加session,如果不写,则默认是session

使用语法:
1.查看所有的系统变量

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

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

SHOW GLOBAL / [SESSION] VARIABLES LIKE '%char%';

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

SELECT  @@global / [SESSION ].系统变量名;

4.为个系统变量赋值
方式一:

SET @@ global/[SESSION].系统变量名=值;

SET GLOBAL/[SESSION] 系统变量名 = 值;


方式二:

SET @@ global/[SESSION].系统变量名=值;

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

#①查看所有的全局变量
SHOW GLOBAL VARIABLES;

#②查看部分的全局变量
SHOW GLOBAL VARIABLES LIKE '%char%';

#③查看指定的全局变量的值
SELECT @@global.autocommit;
SELECT @@tx_isolation;

#④为某个指定的全局变量赋值
SET @@global.autocommit=0;

#2.会话变量
/*
作用域:仅仅针对于当前会话(连接)有效
*/

#①查看所有的会话变量
SHOW SESSION VARIABLES;
SHOW VARIABLES;

#②查看部分的会话变量
SHOW SESSION VARIABLES LIKE '%char%';
SHOW VARIABLES  LIKE '%char%';

#③查看某个指定的全局变量
SELECT @@SESSION.autocommit;
SELECT @@tx_isolation;

#④为某个会话变量赋值
方式一:
SET @@tx_isolation='read-uncommitted';
方式二:
SET SESSION tx_isolation='read-commited';

二.自定义变量

说明:变量使用户自定义的,不是由系统的
使用步骤:
声明
赋值
使用(查看 比较)

1用户变量

作用域:针对于当前会话(连接)有效,同于会话变量的作用域

赋值操作符: =或:=
①声明并初始化

SET @用户变量名=值;或
SET @用户变量名:=值;或
SELECT @用户变量名:=值;

②赋值(更新用户变量的值)
方式一: 通过set 或select

方式二通过select INTO

	SET @用户变量名=值;或
	SET @用户变量名:=值;或
	SELECT @用户变量名:=值;

方式二通过select INTO

SELECT 字段 INTO 变量名
FROM 表#③使用(查看用户变量的值)
SELECT @用户变量名;

2.局部变量名

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

①声明

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

②赋值
方式一: 通过set 或select

方式二通过select INTO

	SET @局部变量名=值;或
	SET @局部变量名:=值;或
	SELECT @用户变量名:=值;

方式二通过select INTO

SELECT 字段 INTO 局部变量名
FROM 表

#③使用

SELECT @局部变量名	

以上是关于Mysql数据库中的系统变量和自定义变量的使用步骤和语法的主要内容,如果未能解决你的问题,请参考以下文章

MySQL高级 第一章——变量

mysql的sql编程

PHP从基础语法到原生项目开发

MySQL_基础_变量

shell编程—变量

数据库MySQL/mariadb知识点——数据库变量