在mysql文檔中,mysql變量可分為兩大類,即系統(tǒng)變量和用戶變量。
但根據實際應用又被細化為四種類型,即局部變量、用戶變量、會話變量和全局變量。
一、局部變量
mysql局部變量,只能用在begin/end語句塊中,比如存儲過程中的begin/end語句塊。
其作用域僅限于該語句塊。
-- declare語句專門用于定義局部變量,可以使用default來說明默認值
declare age int default 0;
-- 局部變量的賦值方式一
set age=18;
-- 局部變量的賦值方式二
select StuAge
into age
from demo.student
where StuNo='A001';
二、用戶變量
mysql用戶變量,mysql中用戶變量不用提前申明,在用的時候直接用“@變量名”使用就可以了。
其作用域為當前連接。
-- 第一種用法,使用set時可以用“=”或“:=”兩種賦值符號賦值
set @age=19;
set @age:=20;
-- 第二種用法,使用select時必須用“:=”賦值符號賦值
select @age:=22;
select @age:=StuAge
from demo.student
where StuNo='A001';
三、會話變量
mysql會話變量,服務器為每個連接的客戶端維護一系列會話變量。
其作用域僅限于當前連接,即每個連接中的會話變量是獨立的。
-- 顯示所有的會話變量
show session variables;
-- 設置會話變量的值的三種方式
set session auto_increment_increment=1;
set @@session.auto_increment_increment=2;
set auto_increment_increment=3; -- 當省略session關鍵字時,默認缺省為session,即設置會話變量的值
-- 查詢會話變量的值的三種方式
select @@auto_increment_increment;
select @@session.auto_increment_increment;
show session variables like '%auto_increment_increment%'; -- session關鍵字可省略
-- 關鍵字session也可用關鍵字local替代
set @@local.auto_increment_increment=1;
select @@local.auto_increment_increment;
四、全局變量
mysql全局變量,全局變量影響服務器整體操作,當服務啟動時,它將所有全局變量初始化為默認值。要想更改全局變量,必須具有super權限。
其作用域為server的整個生命周期。
-- 顯示所有的全局變量
show global variables;
-- 設置全局變量的值的兩種方式
set global sql_warnings=ON; -- global不能省略
set @@global.sql_warnings=OFF;
-- 查詢全局變量的值的兩種方式
select @@global.sql_warnings;
show global variables like '%sql_warnings%';
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- MySQL中使用自定義變量 編寫偷懶的UNION示例
- mysql用戶變量與set語句示例詳解
- MySQL 的啟動選項和系統(tǒng)變量實例詳解
- mysql變量用法實例分析【系統(tǒng)變量、用戶變量】
- mysql存儲過程之創(chuàng)建(CREATE PROCEDURE)和調用(CALL)及變量創(chuàng)建(DECLARE)和賦值(SET)操作方法
- 關于MySQL性能調優(yōu)你必須了解的15個重要變量(小結)
- win10下mysql 8.0.12 安裝及環(huán)境變量配置教程
- MySQL設置global變量和session變量的兩種方法詳解
- mysql 5.6.23 安裝配置環(huán)境變量教程
- MySQL 自定義變量的概念及特點