首页 > 数据库 >MySQL变量的使用

MySQL变量的使用

时间:2022-10-16 16:46:40浏览次数:47  
标签:set 变量 -- MySQL session increment 使用 全局变量

在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%';
复制代码

 

 转载于:https://www.cnblogs.com/Brambling/p/9259375.html

标签:set,变量,--,MySQL,session,increment,使用,全局变量
From: https://www.cnblogs.com/dersome/p/16796468.html

相关文章

  • 使用 Doxygen 从源代码生成 UML 类图
    Doxygen简介Doxygen是一个编写软件参考文档的工具,也是从带注释的C++源代码生成文档的事实上的标准工具。这意味着该文档是直接写在源代码中的,因此比较容易保持更新。Dox......
  • Qt自定义类使用QSS换肤
    文章目录​​一、前言​​​​二、效果展示​​​​三、具体步骤​​​​3.1、自定义继承自QWidget的类​​​​3.2、自定义类添加自定义属性及接口​​​​3.3、完整的时钟......
  • Ant design——message防抖优化——富文本的使用——富文本数据的收集——上传图片保
    button按钮有个loading加载态度。加载状态为true则不可点击。通过这个属性来完成项目中的防抖优化const[seachBtn,setSeachBtn]=useState(false)message.error("用户名不......
  • Centos8 安装并使用Ansible(二)
    Ansible是一个开源的配置管理工具,我们用于自动化任务、部署应用程序。使用Ansible,您可以自动执行日常任务,例如更新系统、安装软件、和配置服务。配置/etc/hosts文件觉得用......
  • MySQL索引介绍
    索引主要是用来提高数据库的查询效率的,它对指定的列或列的集合生成索引,然后可以通过索引来检索目标数据,就像目录一样,缩小了扫描范围,大大提高了查询效率。如果不使用索引,My......
  • mysql80解决不支持中文的问题
    1.查看mysql80字符集showvariableslike'character_set%';2.修改server编码格式在mysql安装目录下找到my-default.ini文件并复制一份改为my.ini,文件内加入如下设置......
  • PS新手教程-如何使用PS给眼睛添加美瞳效果
    如何使用PS给眼睛添加美瞳效果?给大家介绍如何使用PS给眼睛添加美瞳效果,一起来看看吧。Photoshop2022forMac(ps2022)1.用ps打开一张需要添加美瞳效果的图片,如图所示。......
  • MySql的学习
    1:什么是数据库:用来存储数据,管理数据(DBDataBase)2:数据库的分类(1)关系型数据库:MySql,SqlServer,DB2,就是表和表之间,行和列之间的关系进行数据存储(2)非关系型数据库:jso......
  • navicat连接mysql数据库提示失败,提示2059错误
    Navicat连接数据库失败,提示2059错误,如下图参考资料发现使用的数据库版本是mysql8版本,不是mysql5.7版本MYSQL新版本(8以上版本)的用户登录账户加密方式是【caching_sha2_passwo......
  • std::mt19937使用指北
    这东西的名字名字很怪(全名应该叫maxint2^19937-1)。作为C++语言里的东西,它的作用是用来生成随机数。I我们不妨从这东西的原理开始说起。它位于的C++头文件为#include......