MySQL用户变量:基于会话变量实现的,可以暂存值,并传递给同一连接里的下一条sql使用的变量,当客户端连接退出时,变量会被释放。
MySQL用户变量应用场景:同一连接,未关闭情况下,帮你暂存一些计算结果。
两种方式定义用户变量:
1. "=" 如 set @a = 3 , @a: = 5
2. ":=" select常常这样使用。
总结:使用select和set设置变量的区别,set可以使用以上两种形式设置变量,而select只能使用":="的形式设置变量。
例如,要找出价格最高或最低的物品的,其方法是:
mysql> SELECT @min_price:=MIN(price),@max_price:=MAX(price) FROM shop;
mysql> SELECT * FROM shop WHERE price=@min_price OR price=@max_price;
+---------+--------+-------+ | article | dealer | price | +---------+--------+-------+ | 0003 | D | 1.25 | | 0004 | D | 19.95 | +---------+--------+-------+