什么是MySQL用户变量,我们如何给它们赋值?
MySQL用户变量写作@variable,它可以被设置为整数、实数、字符串或NULL值。通过SET语句,我们可以给用户变量赋值。在给用户变量赋值时,我们可以使用=或:=作为赋值操作符。
阅读更多:MySQL 教程
例子
mysql> SET @A = 100;
查询OK,0行受影响(0.00秒)
mysql> Set @B = 'MySQL';
查询OK,0行受影响(0.00秒)
上面的查询分别将值100分配给了用户变量A和’MySQL’分配给了用户变量B。
我们可以使用SELECT语句检查它们的值,如下所示 −
mysql> Select @A, @B;
+------+-------+
| @A | @B |
+------+-------+
| 100 | MySQL |
+------+-------+
1行记录(0.05秒)
我们也可以执行多个变量分配,使用逗号分隔。在下面的例子中进行了说明−
mysql> SET @X = 'Ram',@Y = 'Shyam',@Z = 'Students', @S = 5000;
查询OK,0行受影响(0.00秒)
mysql> Select @X, @Y, @Z, @S;
+------+-------+----------+------+
| @X | @Y | @Z | @S |
+------+-------+----------+------+
| Ram | Shyam | Students | 5000 |
+------+-------+----------+------+
1行记录(0.00秒)
我们也可以使用SELECT语句为它们赋值,但是为了这个,我们必须只使用:=赋值操作符,而不是=。在下面的例子中进行了说明−
mysql> SELECT @C := 'Tutorialspoint';
+------------------------+
| @C := 'Tutorialspoint' |
+------------------------+
| Tutorialspoint |
+------------------------+
1行记录(0.00秒)
mysql> SELECT @C;
+----------------+
| @C |
+----------------+
| Tutorialspoint |
+----------------+
1行记录(0.00秒)