mysql的變量知識點,學了這麼久還記得嗎?

這篇文章主要是認識一下mysql中的變量,本來是不準備整理的,但是發現後面的存儲過程等等在實際用的時候還挺多。

mysql裡面的變量你可以和java中的變量進行對比理解。主要分為兩種:系統變量和自定義變量。自定義變量是重點。

一、系統變量

系統變量那肯定就是mysql數據庫為我們提供的,再細化的話又可以分為兩種:全局變量和會話變量。

1、查看所有的系統變量

只需要輸入show global variables;回車之後你會發現有很多的系統變量,查看會話變量的時候只需要把global變成session就可以了。會話變量的意思是隻是在本次回話有效。會話的含義就是你開兩個命令行窗口,會話變量的值的改變在另外一個無效。

mysql的變量知識點,學了這麼久還記得嗎?

每一個人的機器可能數量不同。我的電腦裡面有494條。

2、查看某個指定的系統變量

select @@global.變量名稱;查看會話的變量值的時候只需要把global變成session就可以了。

mysql的變量知識點,學了這麼久還記得嗎?

3、為某個變量賦值

set global | session 系統變量名 = 新值;

set @@global | @@session.系統變量名 = 值;

二、自定義變量

自定變量就是用戶自己定義的,而不是由系統提供的。自定義變量也可以分為兩種:用戶變量和局部變量。

1、用戶變量

用戶變量的作用域是當前會話,也就是說你再新建一個終端或者是命令行窗口就無效了。

set @用戶變量名 = 值

set @用戶變量名 := 值

select @用戶變量名:=值

mysql的變量知識點,學了這麼久還記得嗎?

(2)賦值並查看

賦值是一個重點,常常和表還有存儲過程等結合使用。

select 字段 into 自定義變量 from 表名;

mysql的變量知識點,學了這麼久還記得嗎?

2、局部變量

局部變量的作用域就是在定義他的begin end中有效。和我們java中的方法中的變量類似。

declare 變量名 類型;

declare 變量名 類型 default 默認值;

(2)賦值

set @用戶變量名 = 值

set @用戶變量名 := 值

select @用戶變量名:=值

select 字段 into 自定義變量 from 表名;

(3)使用

select 局部變量名;

mysql的變量知識點,學了這麼久還記得嗎?

在這裡建了一個存儲過程,聲明瞭倆變量aa、bb。在內部定義局部變量。如果沒有給變量指定默認值,則它的系統默認值為 NULL。

mysql的變量知識點,學了這麼久還記得嗎?


分享到:


相關文章: