网站/小程序/APP个性化定制开发,二开,改版等服务,加扣:8582-36016

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

一、概述

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

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;


 



评论 0

暂无评论
0
0
0
立即
投稿
发表
评论
返回
顶部