MySQL系統(tǒng)及自定義變量方式
詳情系統(tǒng)變量信息參考MySQL官方文檔
系統(tǒng)變量分類
全局系統(tǒng)變量(global)
全局系統(tǒng)變量針對于所有會話(連接)有效,但 不能跨重啟
會話系統(tǒng)變量(session)
僅針對當前連接有效,會話期間對某個會話系統(tǒng)變量值修改,不影響其他會話同一會話系統(tǒng)變量的值
若存在多個會話,一旦有某個會話對某個全局系統(tǒng)變量值的修改會導致其他會話中同一個全局系統(tǒng)變量值的修改。
查看系統(tǒng)相關變量
#查看全局系統(tǒng)變量 show global variables ; #查看會話系統(tǒng)變量 show session variables ; #查看滿足條件的部分系統(tǒng)變量。 SHOW GLOBAL VARIABLES LIKE '%標識符%'; #查看滿足條件的部分會話變量 SHOW SESSION VARIABLES LIKE '%標識符%'; #查看指定的系統(tǒng)變量的值 SELECT @@global.變量名; #查看指定的會話變量的值 SELECT @@session.變量名;
修改系統(tǒng)變量的值
方式1:修改MySQL 配置文件 ,繼而修改MySQL系統(tǒng)變量的值(該方法需要重啟MySQL服務)
方式2:在MySQL服務運行期間,使用“set”命令重新設置系統(tǒng)變量的值,如下:
#修改全局變量的值 #方式1: SET @@global.變量名=變量值; #方式2: SET GLOBAL 變量名=變量值; #修改某個會話變量的值 #方式1: SET @@session.變量名=變量值; #方式2: SET SESSION 變量名=變量值;
用戶自定義變量
用戶變量是用戶自己定義的,作為 MySQL 編碼規(guī)范,MySQL 中的用戶變量以 一個“@” 開頭。根據(jù)作用
范圍不同,又分為 會話用戶變量 和 局部變量
①會話用戶變量:作用域和會話變量一樣,只對 當前連接 會話有效。
②局部變量:只在 BEGIN 和 END 語句塊中有效。局部變量只能在 存儲過程和函數(shù) 中使用。
會話用戶變量
定義:
#方式1:“=”或“:=” SET @用戶變量 = 值; SET @用戶變量 := 值; #方式2:“:=” 或 INTO關鍵字 SELECT @用戶變量 := 表達式 [FROM 等子句]; SELECT 表達式 INTO @用戶變量 [FROM 等子句];
查看用戶變量的值 (查看、比較、運算等),查看某個未聲明的變量時,將得到NULL值
SELECT @用戶變量
局部變量
定義:可以使用 DECLARE 語句定義一個局部變量
DECLARE 變量名 類型 [default 值]; # 如果沒有DEFAULT子句,初始值為NULL
作用域:僅僅在定義它的 BEGIN … END 中有效
位置:只能放在 BEGIN ... END 中,而且只能放在第一句
BEGIN #聲明局部變量 DECLARE 變量名1 變量數(shù)據(jù)類型 [DEFAULT 變量默認值]; DECLARE 變量名2,變量名3,... 變量數(shù)據(jù)類型 [DEFAULT 變量默認值]; #為局部變量賦值 SET 變量名1 = 值; SELECT 值 INTO 變量名2 [FROM 子句]; #查看局部變量的值 SELECT 變量1,變量2,變量3; END
賦值:
#方式1:一般用于賦簡單的值 SET 變量名=值; SET 變量名:=值; #方式2:一般用于賦表中的字段值 SELECT 字段名或表達式 INTO 變量名 FROM 表;
使用變量(查看、比較、運算等)
SELECT 局部變量名;
對比會話用戶變量與局部變量
作用域 | 定義位置 | 語法 | |
---|---|---|---|
會話用戶變量 | 當前會話 | 會話的任何地方 | 加@符號,不用指定類型 |
局部變量 | 定義它的BEGIN END中 | BEGIN END的第一句話 | 一般不用加@,需要指定類型 |
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
mysql添加索引方法詳解(Navicat可視化加索引與sql語句加索引)
索引用來快速地尋找那些具有特定值的記錄,如果沒有索引,執(zhí)行查詢時MySQL必須從第一個記錄開始掃描整個表的所有記錄,直至找到符合要求的記錄,表里面的記錄數(shù)量越多,代價就越高,下面這篇文章主要給大家介紹了關于mysql添加索引的相關資料,需要的朋友可以參考下2022-11-11windows 環(huán)境下 MySQL 8.0.13 免安裝版配置教程
這篇文章主要介紹了windows 環(huán)境下 MySQL 8.0.13 免安裝版配置教程,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2018-12-12windows 安裝解壓版 mysql5.7.28 winx64的詳細教程
這篇文章主要介紹了windows 安裝解壓版 mysql5.7.28 winx64的詳細教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12美團網(wǎng)技術團隊分享的MySQL索引及慢查詢優(yōu)化教程
這篇文章主要介紹了美團網(wǎng)技術團隊分享的MySQL索引及慢查詢優(yōu)化教程,結合了實際的磁盤IO情況對一些優(yōu)化方案作出了分析,十分推薦!需要的朋友可以參考下2015-11-11