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。

参考:http://www.voidcn.com/article/p-kumorlxr-mp.html  (侵删)

原文地址:https://www.cnblogs.com/qiankun-site/p/13083610.html