系统环境:
会话变量 //只是对当前用户的变量有效
show session variables;
全局变量
show global variables;
用户变量:
在客户端连接到数据库服务的整个过程中都是有
效的。当当前连接断开后所有用户变量失效。
定义 set@ 变量名 = 值;
mysql> set @name="yaya";
Query OK, 0 rows affected (0.00 sec)
mysql> select @name;
+-------+
| @name |
+-------+
| yaya |
+-------+
1 row in set (0.00 sec)
局部变量:
存储过程中有效
局部变量不需要加@
实验检测:
mysql> delimiter //
mysql> create procedure p2()
-> begin
-> declare x int default 99;
-> declare name char(10);
-> select x;
-> select name;
-> end
-> //
Query OK, 0 rows affected (0.00 sec)
mysql> call p2;
+------+
| x |
+------+
| 99 |
+------+
1 row in set (0.00 sec)
+------+
| name |
+------+
| NULL |
+------+
1 row in set (0.00 sec)
mysql> select @x;
+------+
| @x |
+------+
| 9 |
+------+
1 row in set (0.00 sec)
mysql> select @x, @w; //一个没有定义过的变量输出为空
+------+------+
| @x | @w |
+------+------+
| 9 | NULL |
+------+------+
1 row in set (0.00 sec)