MySQL 定义变量 – 局部 – 全局

2023-03-27 10:31:38 浏览数 (1)

本页目录

  • 定义一个局部变量(会这个就够了)
  • 定义全局变量(了解即可)

定义一个局部变量(会这个就够了

方式:set @变量名

注意哦:这个局部变量是Session回话级别的,关闭本次回话,也就是在你Navicat关闭”新建查询”变量就会消失了。

代码语言:javascript复制
-- 设置一个局部变量,不会影响全局哦
set @charId = 30;

-- 查看自己的变量
select @charId;

-- 在SQL中的使用案例
select * from chars where charid = @charId;

定义全局变量(了解即可)

注意哦:全局变量变量名不允许随便设置。必须是MySQL系统能够识别的变量名称才可以,比如:slow_query_log。还有一点,设置的内容,重启MySQL后,就会恢复成配置文件的设置内容,如果要永久生效,记得在MySQL配置文件中设置哦!!!

写法1

代码语言:javascript复制
set @@global.slow_query_log = 'OFF';
select @@global.slow_query_log

这个查询出来的结果是 0,我们明明设置的是OFF。当我们OFF改为ON时,查询结果就是1。所以不建议写法1使用。

写法2 推荐

代码语言:javascript复制
-- 设置系统全局慢日志开启
set global slow_query_log = 'ON';

-- 查看系统全局慢日志相关字段信息
show variables like 'slow_query%'; -- 注意慢查询时右模糊搜索哦,查询结果ON或者OFF,以及日志文件所在位置
show variables like '%long_query_time%';

结果1

结果2

特殊说明: 上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com 第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取全部资料 ❤

0 人点赞