一、概述

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

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

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

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

1、用户定义变量语法

set @var_name = expr [, @var_name = expr]

如:set @t1 =100;

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

select @t1 from dual;

如下图

系统变量

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

show global variables

2、查看单个系统变量

show global variables like 'wait_timeout'

3、设置系统变量语法

set global 变量名 = 变量值

如:set global wait_timeout = 604800;

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

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

select @@wait_timeout  from dual;

补充:mysql的@与@@区别

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

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

@@查看全局变量:

select @@log_error;

总结

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