MySQL用户变量有哪些属性?

MySQL用户变量有哪些属性?

以下是MySQL用户变量的属性 −

阅读更多:MySQL 教程

不区分大小写

用户变量不区分大小写,在MySQL 5版本之前是区分大小写的。可以在下面的示例中说明。

示例

mysql> SET @A = 'MySQL';
Query OK, 0 rows affected (0.00 sec)

mysql> Select @A, @a;
+-------+-------+
| @A    | @a    |
+-------+-------+
| MySQL | MySQL |
+-------+-------+
1 row in set (0.00 sec)

仅限于客户端连接

实际上,用户变量是特定于客户端连接的,且仅在该连接的持续时间内存在。当连接结束时,所有用户变量都被删除。

仅与表达式一起使用

用户变量仅出现在允许表达式的位置。它们可以出现在已经出现常量或文字标识符的位置。以下示例中,我们正在尝试使用用户变量提供表名。

示例

mysql> Set @table_name = CONCAT('tbl_','Employee');
Query OK, 0 rows affected (0.00 sec)

mysql> Create Table @table_name(Id Int);
ERROR 1064 (42000): You have an error in your SQL syntax near '@table_name(Id Int)'

在赋予新值时丢失

当我们为用户变量赋新值时,其值将丢失。换句话说,给定的用户变量的值一直持久到我们给它赋另一个值。以下示例将演示它。

示例

mysql> SET @name = 'Rahul';
Query OK, 0 rows affected (0.00 sec)

mysql> Select @name;
+-------+
| @name |
+-------+
| Rahul |
+-------+
1 row in set (0.00 sec)

此时,变量@name具有值“Rahul”,但当我们将其更改为“Raman”时,以前的值将丢失。

mysql> SET @name = 'Raman';
Query OK, 0 rows affected (0.00 sec)

mysql> Select @name;
+-------+
| @name |
+-------+
| Raman |
+-------+
1 row in set (0.00 sec)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程