前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL(变量)

MySQL(变量)

作者头像
全栈开发日记
发布2022-05-12 21:12:56
2K0
发布2022-05-12 21:12:56
举报
文章被收录于专栏:全栈开发日记全栈开发日记

目录

系统变量 查看系统变量 修改系统变量 用户自定义变量 用户变量 局部变量

系统变量

由MySQL数据库管理系统提供等等,变量名称固定,可以修改和查看值。

可分为全局变量和会话变量。

全局变量:当我们的MySQL服务没有重启时,我们可以查看和修改的变量。

会话变量:和MySQL连接形成的会话,生命周期是在整个会话过程中。

全局变量用global来修饰,而会话变量用session,通常session可以省略。

查看系统变量:

代码语言:javascript
复制
SHOW session variables;-- 查看系统会话变量 
SHOW variables;-- 查看系统会话变量(省略session)
SHOW global variables like '%dir%';-- 模糊查询环境变量 
SELECT @@datadir;-- 查看全局系统变量 
SELECT @@session_track_transaction_info;-- 查看系统变量

修改系统变量:

修改全局变量后,在系统重启会恢复到默认状态。

代码语言:javascript
复制
SET global autocommit=0;-- 全局的自动提交的事务改为手动提交 
SET session autocommit=0;-- 修改会话变量 
SET @@session.autocommit=1; -- 修改会话变量另一种方式
SET @@global.autocommit=0;-- 修改全局变量另一种方式

全局变量在修改后,在不同的会话中都会立即生效,但是在重新重启MySQL服务后全局变量会恢复为默认值。如果想让全局变量依旧有效,需要去修改.ini文件(MySQL配置文件)

会话变量在修改后只对当前会话有效。一般在开发过程中修改会话变量,不建议修改全局变量。

如:字符编码格式等可以在ini文件中修改。

用户自定义变量

MySQL允许用户自定义变量,可以分为用户变量和局部变量。

用户变量

作用域:当前会话中有效

设置方式①:

先声明并初始化用户变量,赋值操作既可以使用=进行赋值,也可以使用:=进行变量赋值。

语法:

代码语言:javascript
复制
set @变量名=值;
set @变量名:=值;
select @变量名:=值;

代码实例:

代码语言:javascript
复制
set @a='helloWord';
set @b:='sofwin'; 
select @c:='helloworld sofwin';

查看变量:

代码语言:javascript
复制
select @a;
select @b;
select @a,@b,@c;

设置方式②:

语法:

代码语言:javascript
复制
select 字段 into @变量名 from 表名;

代码实例:

代码语言:javascript
复制
select count(*) into @d from b_user;

查看变量:(与方式①相同)

代码语言:javascript
复制
select @d;

局部变量

作用域:在begin end的结构体中。必须是begin end结构体的第一句。

声明方式:

代码语言:javascript
复制
declare 变量名 类型;
declare 变量名 类型 default 值;

注意:declare必须在begin后面从第一行开始。

代码实例:

代码语言:javascript
复制
begin
declare a int;
declare b varchar(20);
end;

注意:这里两句declare都算在begin后第一行,因为begin后无其他语句。

局部变量的三种赋值方式

代码语言:javascript
复制
set 变量名:=值;
select @变量名:=值;
select 字段 into 变量名 from 表名;
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈开发日记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 查看系统变量:
  • 修改系统变量:
  • 用户变量
  • 局部变量
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档