亲宝软件园·资讯

展开

Mysql @和@@符号使用

不甘于平凡的溃败 人气:0

一、概述

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

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;

总结

加载全部内容

相关教程
猜你喜欢
用户评论