mysql-sql中变量的使用
用户变量介绍:
用户变量即用户自己定义的变量,我们可以给用户变量分配值,并且可用在任何可以正常使用标量表达式的地方
引入用户变量之前我们必须使用set语句或select语句来定义它,然后为它赋一个值,否则变量就只有一个空值。
用户变量与连接有关。也就是说,一个客户端定义的变量不能被其它客户端看到或使用。当客户端退出时,
该客户端连接的所有变量将自动释放。
定义:
使用set语句来进行定义和赋值
使用select语句进行定义和赋值,在SQL语句中的话就看这种吧
select @rownum := 1 .......
注意:
用户变量:以"@"开始,形式为"@var_name",以区分用户变量及列名。它可以是任何随机的,
复合的标量表达式,只要其中没有列指定。
一个变量名可以由当前字符集的数字字母字符和“_”、“$”和“.”组成
对于SET,可以使用=或:=来赋值,对于SELECT只能使用:=来赋值。
举例:
查询用户表中的所有数据并显示行号
select @rownum := @rownum+1 as no, -- 行号 u.* FROM USER u, ( SELECT @rownum := 0 ) a -- 为变量赋初始值
ps:
用户变量为session级别,当我们关闭客户端或退出登录时用户变量全部消失。
如果想用就保存自定义的变量,需要自行创建一个表,将标量insert到表里。
用户变量名对大小写不敏感。
未定义的变量初始化是null。