您現在的位置是:首頁 > 棋牌
mysql中你應該要知道的變數知識點
- 由 愚公要移山1 發表于 棋牌
- 2022-08-23
資料庫declare;declare怎麼用
這篇文章主要是認識一下mysql中的變數,本來是不準備整理的,但是發現後面的儲存過程等等在實際用的時候還挺多。
mysql裡面的變數你可以和java中的變數進行對比理解。主要分為兩種:系統變數和自定義變數。自定義變數是重點。
一、系統變數
系統變數那肯定就是mysql資料庫為我們提供的,再細化的話又可以分為兩種:全域性變數和會話變數。
1、檢視所有的系統變數
只需要輸入show global variables;回車之後你會發現有很多的系統變數,檢視會話變數的時候只需要把global變成session就可以了。會話變數的意思是隻是在本次回話有效。會話的含義就是你開兩個命令列視窗,會話變數的值的改變在另外一個無效。
每一個人的機器可能數量不同。我的電腦裡面有494條。
2、檢視某個指定的系統變數
select @@global。變數名稱;檢視會話的變數值的時候只需要把global變成session就可以了。
3、為某個變數賦值
set global | session 系統變數名 = 新值;
set @@global | @@session。系統變數名 = 值;
二、自定義變數
自定變數就是使用者自己定義的,而不是由系統提供的。自定義變數也可以分為兩種:使用者變數和區域性變數。
1、使用者變數
使用者變數的作用域是當前會話,也就是說你再新建一個終端或者是命令列視窗就無效了。
(1)宣告初始化:
set @使用者變數名 = 值
set @使用者變數名 := 值
select @使用者變數名:=值
(2)賦值並檢視
賦值是一個重點,常常和表還有儲存過程等結合使用。
select 欄位 into 自定義變數 from 表名;
2、區域性變數
區域性變數的作用域就是在定義他的begin end中有效。和我們java中的方法中的變數類似。
(1)宣告:
declare 變數名 型別;
declare 變數名 型別 default 預設值;
(2)賦值
set @使用者變數名 = 值
set @使用者變數名 := 值
select @使用者變數名:=值
select 欄位 into 自定義變數 from 表名;
(3)使用
select 區域性變數名;
在這裡建了一個儲存過程,聲明瞭倆變數aa、bb。在內部定義區域性變數。如果沒有給變數指定預設值,則它的系統預設值為 NULL。