MySQL(五)——MySQL中的變量

在mysql文檔中,mysql變量可分爲兩大類,即系統變量和用戶變量。

但根據實際應用又被細化爲四種類型,即局部變量、用戶變量、會話變量和全局變量。

一、局部變量

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%';

本文轉至於博客園作者Brambling

原文連接:https://www.cnblogs.com/Brambling/p/9259375.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章