MySQL變量原理及應(yīng)用實例
在mysql文檔中,mysql變量可分為兩大類,即系統(tǒng)變量和用戶變量。
但根據(jù)實際應(yīng)用又被細化為四種類型,即局部變量、用戶變量、會話變量和全局變量。
一、局部變量
mysql局部變量,只能用在begin/end語句塊中,比如存儲過程中的begin/end語句塊。
其作用域僅限于該語句塊。
-- declare語句專門用于定義局部變量,可以使用default來說明默認值declare age int default 0;
-- 局部變量的賦值方式一set age=18;
-- 局部變量的賦值方式二select StuAge into agefrom demo.student where StuNo=’A001’;
二、用戶變量
mysql用戶變量,mysql中用戶變量不用提前申明,在用的時候直接用“@變量名”使用就可以了。
其作用域為當(dāng)前連接。
-- 第一種用法,使用set時可以用“=”或“:=”兩種賦值符號賦值set @age=19;
set @age:=20;
-- 第二種用法,使用select時必須用“:=”賦值符號賦值select @age:=22;
select @age:=StuAge from demo.student where StuNo=’A001’;
三、會話變量
mysql會話變量,服務(wù)器為每個連接的客戶端維護一系列會話變量。
其作用域僅限于當(dāng)前連接,即每個連接中的會話變量是獨立的。
-- 顯示所有的會話變量show session variables;
-- 設(shè)置會話變量的值的三種方式set session auto_increment_increment=1;set @@session.auto_increment_increment=2;set auto_increment_increment=3; -- 當(dāng)省略session關(guān)鍵字時,默認缺省為session,即設(shè)置會話變量的值
-- 查詢會話變量的值的三種方式select @@auto_increment_increment;select @@session.auto_increment_increment;show session variables like ’%auto_increment_increment%’; -- session關(guān)鍵字可省略
-- 關(guān)鍵字session也可用關(guān)鍵字local替代set @@local.auto_increment_increment=1;select @@local.auto_increment_increment;
四、全局變量
mysql全局變量,全局變量影響服務(wù)器整體操作,當(dāng)服務(wù)啟動時,它將所有全局變量初始化為默認值。要想更改全局變量,必須具有super權(quán)限。
其作用域為server的整個生命周期。
-- 顯示所有的全局變量show global variables;
-- 設(shè)置全局變量的值的兩種方式set global sql_warnings=ON; -- global不能省略set @@global.sql_warnings=OFF;
-- 查詢?nèi)肿兞康闹档膬煞N方式select @@global.sql_warnings;show global variables like ’%sql_warnings%’;
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Mysql中的日期時間函數(shù)小結(jié)2. Windows系統(tǒng)徹底卸載SQL Server通用方法(推薦!)3. Sql在多張表中檢索數(shù)據(jù)的方法詳解4. Navicat for MySQL的使用教程詳解5. MySQL兩千萬數(shù)據(jù)優(yōu)化&遷移6. mysql查詢的控制語句圖文詳解7. 根據(jù)IP跳轉(zhuǎn)到用戶所在城市的實現(xiàn)步驟8. MySQL 性能優(yōu)化,讓數(shù)據(jù)庫跑的更快9. MYSQL(電話號碼,身份證)數(shù)據(jù)脫敏的實現(xiàn)10. SQL Server2022安裝圖文教程(最新推薦)
