mysql有臨時變量。MySQL變量可分為臨時變量、局部變量、會話變量和全局變量;其中臨時變量就是用戶變量,需要配合“@”符使用,不需要聲明,用法為“set @name=value;”和“select @num=value;”。
本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。
MySQL官方手冊里是將變量分為系統變量和用戶變量的,用戶變量就是在一個語句里加在用戶自定義的變量,然后這個變量可以賦值給其它變量,或者在另外一個語句里調用等。
不過有些地方也將變量按照用法分為:
-
1、臨時變量(@符號的情況,也就是mysql手冊介紹的用戶變量);
-
2、局部變量(declare方式);
-
3、會話變量;
-
4、全局變量(也就是系統變量)。
其實分類只是為了方便記錄學習,重點是掌握用法原理就可以
聲明標準變量
DECLARE end_flag INT DEFAULT 0;
登錄后復制
臨時變量@(不需要聲明)
只在局部起作用
用法一:set @name=value;
set @num=1; set @num:=1;
登錄后復制
用法二:select @num=value;
select @num:=1; select @num:=字段名 from 表名 where ……
登錄后復制
全局變量@@
系統變量,只能讀取,不能修改,如@@error
局部變量(declare聲明變量)
declare聲明變量:declare聲明關鍵字可以用于定義變量,一般用于存儲過程或者自定義函數里
a)、declare聲明變量
用法:聲明一個v1變量,定義為int類型,默認值為0;
declare v1 INT default 0;
登錄后復制
b)、declare變量使用
聲明后變量一般是在存儲過程或者自定義里的,所以是寫在begin和end關鍵字之間的,外面的不能直接定義,然后調用,所以declare也被稱之為局部變量
【