MySQL用户变量有哪些属性?
短信预约 -IT技能 免费直播动态提醒
以下是 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)
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341