服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - Mysql中@和@@符号的详细使用指南

Mysql中@和@@符号的详细使用指南

2022-11-04 15:42不甘于平凡的溃败 Mysql

最近工作遇到了一个问题,给自己做个记录,下面这篇文章主要给大家介绍了关于Mysql中@和@@符号的详细使用的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

一、概述

@是用户变量,@@是系统变量。

select @a;

变量名,如果你不加的话,会认为这是一个列名,但是这列不存在,就报错了;

@变量名 : 定义一个用户变量.

= 对该用户变量进行赋值.

用户变量赋值有两种方式: 一种是直接用"=“号,另一种是用”:=“号。

其区别在于:

使用set命令对用户变量进行赋值时,两种方式都可以使用;

用select语句时,只能用”:=“方式,因为select语句中,”="号被看作是比较操作符。

(@i:=@i+1)

可以在生成查询结果表的时候生成一组递增的序列号

?
1
2
3
select (@i:=@i+5) as rownum, surname, personal_name from student, (select @i:=100) as init;
select @ids := ‘101', @l := 0
GROUP_CONCAT + group by

按照分组,连接字段上的数据,默认以,,也可以指定分割符

二、使用语法及实践 用户自定义变量

1、用户定义变量语法

?
1
SET @var_name = expr [, @var_name = expr]

如:set @t1 =100;

2、获取用户定义变量值方式,如:

?
1
select @t1 from dual;

如下图

Mysql中@和@@符号的详细使用指南

系统变量

1、查看全部系统变量指令

?
1
SHOW GLOBAL VARIABLES

2、查看单个系统变量

?
1
SHOW GLOBAL VARIABLES LIKE 'wait_timeout'

3、设置系统变量语法

?
1
SET GLOBAL 变量名 = 变量值

如:SET GLOBAL wait_timeout = 604800;

注:如果修改变量值后没有生效,请退出从新再试下 。

4、获取系统变量值的语法

?
1
select @@wait_timeout  from dual;

Mysql中@和@@符号的详细使用指南

补充:MySQL的@与@@区别

@x 是 用户自定义的变量 (User variables are written as @var_name)

@@x 是 global或session变量 (@@global @@session )

@@查看全局变量:

?
1
select @@log_error;

Mysql中@和@@符号的详细使用指南

总结

到此这篇关于Mysql中@和@@符号详细使用的文章就介绍到这了,更多相关Mysql @和@@符号使用内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/wohiusdashi/article/details/88617405

延伸 · 阅读

精彩推荐