MySQL中符号@的作用

@的作用

使用SET直接赋值变量,变量名以 @ 开头:如:SET @var=1;

@是用户变量可以在一个会话(一个连接)的任何地方声明,作用域是整个会话,随会话关闭而消失;

示例:设置–> SELECT @op = ‘2021-08-17’;
使用–>

SELECT * FROM statistic_app_nft_sell WHERE createDay = @op; 查询–>SELECT @op FROM DUAL;

@@是系统变量可以在任何会话地方声明,作用域是当前运行mysql程序,随重启mysql而消失;

示例:如上多维度GROUP BY的时候使用的设置全局变量(也可以写:

SELECT GLOBAL @@sql_mode = ‘xxx’,查询–>SELECT @@sql_mode FROM DUAL;

@的作用
select @a;

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

@变量名 : 定义一个用户变量.
= 对该用户变量进行赋值.
用户变量赋值有两种方式: 一种是直接用"=“号,另一种是用”:=“号。

其区别在于:

使用set命令对用户变量进行赋值时,两种方式都可以使用;
用select语句时,只能用”:=“方式,因为select语句中,”="号被看作是比较操作符。
(@i:=@i+1)

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

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

你可能感兴趣的:(Mysql,mysql,数据库)