MySQL变量原理及应用实例

2022-05-22 0 1,107

在mysql文档中,mysql变量可分为两大类,即系统变量和用户变量。

但根据实际应用又被细化为四种类型,即局部变量、用户变量、会话变量和全局变量。

一、局部变量

mysql局部变量,只能用在begin/end语句块中,比如存储过程中的begin/end语句块。

其作用域仅限于该语句块。

— declare语句专门用于定义局部变量,可以使用default来说明默认值
declare age int default 0;

— 局部变量的赋值方式一
set age=18;

— 局部变量的赋值方式二
select StuAge
into age
from demo.student
where StuNo=’A001′;

二、用户变量

mysql用户变量,mysql中用户变量不用提前申明,在用的时候直接用“@变量名”使用就可以了。

其作用域为当前连接。

— 第一种用法,使用set时可以用“=”或“:=”两种赋值符号赋值
set @age=19;

set @age:=20;

— 第二种用法,使用select时必须用“:=”赋值符号赋值
select @age:=22;

select @age:=StuAge
from demo.student
where StuNo=’A001′;

三、会话变量

mysql会话变量,服务器为每个连接的客户端维护一系列会话变量。

其作用域仅限于当前连接,即每个连接中的会话变量是独立的。

— 显示所有的会话变量
show session variables;

— 设置会话变量的值的三种方式
set session auto_increment_increment=1;
set @@session.auto_increment_increment=2;
set auto_increment_increment=3; — 当省略session关键字时,默认缺省为session,即设置会话变量的值

— 查询会话变量的值的三种方式
select @@auto_increment_increment;
select @@session.auto_increment_increment;
show session variables like ‘%auto_increment_increment%’; — session关键字可省略

— 关键字session也可用关键字local替代
set @@local.auto_increment_increment=1;
select @@local.auto_increment_increment;

四、全局变量

mysql全局变量,全局变量影响服务器整体操作,当服务启动时,它将所有全局变量初始化为默认值。要想更改全局变量,必须具有super权限。

其作用域为server的整个生命周期。

— 显示所有的全局变量
show global variables;

— 设置全局变量的值的两种方式
set global sql_warnings=ON; — global不能省略
set @@global.sql_warnings=OFF;

— 查询全局变量的值的两种方式
select @@global.sql_warnings;
show global variables like ‘%sql_warnings%’;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持NICE源码。

免责声明:
1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

NICE源码网 MySql MySQL变量原理及应用实例 https://www.niceym.com/45182.html