MySQL的变量

变量分两种,系统变量和用户变量

来源:https://blog.csdn.net/J080624/article/details/73828012

【1】系统变量

系统定义好的变量,大部分时候用户根本不需要使用系统变量。系统变量是用来控制服务器表现的。如:autocommit,auto_increment_increment等。

① 查看系统变量

--查看所有变量

show variables;

--查看范围变量

show variables like '%变量名%';

修改系统变量

修改系统变量有两种方式:会话级别和全局级别。

会话级别

临时修改,当前客户端当次连接有效,关闭将会恢复默认值。

有说法称为会话变量,属于系统变量子集,区别与用户变量!

set 变量名 = 变量值;

or

set @@变量名 = 变量值;

1

2

3

4

5

示例如下:

set autocommit = 0;

set @@ autocommit = 0;

全局级别

一次修改,永久生效(对所有客户端都生效)。

set global 变量名 = 值;

1

示例如下:

set GLOBAL autocommit = 1;

1

当前客户端修改后需要关闭连接重新打开,即可看到生效。

如果对方(其他)客户端当前已经连接上服务器,那么当次修改无效,要退出重新登录才会生效。

④ 变量单位

不同的变量的单位不同,比如table_cache是指缓存的表的个数,而key_buffer_size则是以字节为单位,另外还有以页或者百分比为单位的变量。

许多变量可以通过后缀制订单位,比如1M表示一百万字节,在配置文件中或者在命令行下有效。但是在使用set命令的时候,这些单位就无效,必须使用数字,单位为字节。

比如:

set @@session.sort_buffer_size = 1024*1024

或者

set @@session.sort_buffer_size = 1048576

1

2

3

但是配置文件中设置的时候就不能使用表达式


来源:https://blog.csdn.net/JesseYoung/article/details/40779631

1 用户变量介绍

用户变量即用户自己定义的变量,我们可以给用户变量分配值,并且可用在任何可以正常使用标量表达式的地方。

引入用户变量之前我们必须使用set语句或select语句来定义它,然后为它赋一个值,否则变量就只有一个空值。

用户变量与连接有关。也就是说,一个客户端定义的变量不能被其它客户端看到或使用。当客户端退出时,该客户端连接的所有变量将自动释放。

2 用户变量定义

set语句可用于向系统变量或用户变量赋值,针对用户变量的定义如下:

SET @var_name = expr [, @var_name = expr] ...

也可使用select语句来定义:

SELECT @var_name := expr [, @var_name = expr] ...

用户变量:以"@"开始,形式为"@var_name",以区分用户变量及列名。它可以是任何随机的,复合的标量表达式,只要其中没有列指定。

一个变量名可以由当前字符集的数字字母字符和“_”、“$”和“.”组成。缺省字符集是ISO-8859-1 Latin1;这可以用mysqld 的--default-character-set 选项更改字符集。

对于SET,可以使用=或:=来赋值,对于SELECT只能使用:=来赋值。、查看用户变量

查看变量使用select语句

select @name;

用户变量没有删除指令,退出客户端自动释放。

最新文章

  1. Loader Generator---loading图片生成器
  2. [原创]gerrit上分支操作记录(创建分支、删除分支)
  3. Java for LeetCode 045 Jump Game II
  4. rand()随机数的产生
  5. TM4C123GH6PM程序
  6. 比较两个序列字典序(lexicographicallySmaller)
  7. 【HTML】Beginner3:ParagraphsEmphasisLine breaks
  8. django: db - many to many
  9. (原)opencv直线拟合fitLine
  10. C++中顶层const和底层const
  11. ORACLE 安装Oracle12遇到的问题
  12. - (void)addAnimation:(CAAnimation *)anim forKey:(nullable NSString *)key; 方法浅析
  13. php模式设计之 策略模式
  14. Spring MVC 学习笔记一 HelloWorld
  15. 几种常见排序算法原理&C语言实现
  16. Javascript学习日志(三):闭包
  17. 一个可扩展的深度学习框架的Python实现(仿keras接口)
  18. pwn学习之一
  19. ionic使用iframe时无法显示网页或报错
  20. 第二篇 Linux 虚拟机操作

热门文章

  1. 小程序web-view利用url给内嵌的网页传值
  2. STL -- heap结构及算法
  3. leetcode315 计算右侧小于当前元素的个数
  4. 小D课堂 - 新版本微服务springcloud+Docker教程_2_02 微服务核心基础讲解
  5. 动态加载、移除css文件
  6. linux常用命令(14)which命令
  7. 对JavaScript事件处理程序/事件监听器的设定的简单介绍
  8. ubuntu服务器上用Nginx和Uwsgi部署django项目
  9. ASP.NET MVC Model 验证总结
  10. C#DataGridView格式化显示单元格的内容