MySQL變量的使用

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

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

 

1、局部變量服務器

mysql局部變量,只能用在begin/end語句塊中,好比存儲過程當中的begin/end語句塊。session

其做用域僅限於該語句塊。spa

-- declare語句專門用於定義局部變量,能夠使用default來講明默認值
declare age int default 0;

-- 局部變量的賦值方式一
set age=18;

-- 局部變量的賦值方式二
select StuAge 
into age
from demo.student 
where StuNo='A001';

 

2、用戶變量code

mysql用戶變量,mysql中用戶變量不用提早申明,在用的時候直接用「@變量名」使用就能夠了。server

其做用域爲當前鏈接。blog

-- 第一種用法,使用set時能夠用「=」或「:=」兩種賦值符號賦值
set @age=19;

set @age:=20;

-- 第二種用法,使用select時必須用「:=」賦值符號賦值
select @age:=22;

select @age:=StuAge 
from demo.student 
where StuNo='A001';

 

3、會話變量生命週期

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;

 

4、全局變量

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%';
相關文章
相關標籤/搜索