MySQL 用户变量是什么意思?我们如何为它们赋值?
MySQL 用户变量被写为 @variable,它可以设置为整数、实数、字符串或 NULL 值。借助SET语句,我们可以为用户变量赋值。在将值赋给用户变量时,我们可以使用 = 或 := 作为赋值运算符。
示例mysql> SET @A = 100;Query OK, 0 rows affected (0.00 sec)mysql> Set @B = 'MySQL';Query OK, 0 rows affected (0.00 sec)
mysql> SET @A = 100;Query OK, 0 rows affected (0.00 sec)mysql> Set @B = 'MySQL';Query OK, 0 rows affected (0.00 sec)
上述查询分别将值 100 分配给用户变量 A,将“MySQL”分配给用户变量 B。
我们可以借助 SELECT 语句来检查它们的值,如下所示-
mysql> Select @A, @B;+------+-------+| @A | @B |+------+-------+| 100 | MySQL |+------+-------+1 row in set (0.05 sec)
我们还可以执行多个变量赋值,用逗号分隔。下面的例子说明了这一点 -
mysql> SET @X = 'Ram',@Y = 'Shyam',@Z = 'Students', @S = 5000;Query OK, 0 rows affected (0.00 sec)mysql> Select @X, @Y, @Z, @S;+------+-------+----------+------+| @X | @Y | @Z | @S |+------+-------+----------+------+| Ram | Shyam | Students | 5000 |+------+-------+----------+------+1 row in set (0.00 sec)
我们还可以使用 SELECT 语句为它们赋值,但为此,我们必须仅使用 := 赋值运算符而不是 =。如下例所示 -
mysql> SELECT @C := 'Tutorialspoint';+------------------------+| @C := 'Tutorialspoint' |+------------------------+| Tutorialspoint |+------------------------+1 row in set (0.00 sec)mysql> SELECT @C;+----------------+| @C |+----------------+| Tutorialspoint |+----------------+1 row in set (0.00 sec)