小徐帶你瞭解mysql中的變量(系統變量,全局變量,會話變量,用戶自定義變量,局部變量)使用及詳細解析

變量

系統變量:

	全局變量
	
	會話變量

自定義變量:

	 用戶變量
	 
	 局部變量

一:系統變量

**說明:**變量由系統提供,不是用戶定義,屬於服務器層面。

注意:

		如果是全局級別,則需要加global,如果是會話級別,則需要加session,如果不寫,則默認session

使用的語法:

查看所有的系統變量

SHOW GLOBAL | SESSION VARIABLES;

查看滿足條件的部分系統變量

SHOW GLOBAL | SESSION VARIABLES LIKE '%char%';

查看指定的某個系統變量的值

select @@global | session 系統變量名;

爲某個系統變量賦值

#方式一
set global | session 系統變量名=;
#方式二
set @@global | session 系統變量嗎=;

二:全局變量

作用域:服務器每次啓動將爲所有的全局變量賦初始值,針對所有的會話(連接)有效,但不能跨重啓

查看所有的全局變量

SHOW GLOBAL VARIABLES;

查看部分的全局變量

SHOW GLOBAL VARIABLES LIKE '%char%';

查看指定的全局變量的值

SELECT
	@@GLOBAL.autocommit;
SELECT
	@@tx_isolation;	

爲某個指定的全局變量賦值

SET @@GLOBAL.autocommit = 0;

三:會話變量

作用域:僅僅針對當前會話(連接)有效

查看所有的會話變量

SHOW VARIABLES;
SHOW  SESSION VARIABLES;

查看部分的會話變量

SHOW VARIABLES LIKE '%char%';
SHOW SESSION VARIABLES LIKE '%char%';

查看指定的某個會話變量

SELECT
	@@tx_isolation;
SELECT
	@@SESSION.tx_isolation;

爲某個會話變量賦值

#方式一
SET @@tx_isolation = 'read-COMMITTED';
#方式二
SET SESSION.tx_isolation = 'read-COMMITTED';

四:自定義變量

**說明:**變量是用戶自定的,不是系統的。

自定義變量使用步驟:

	聲明
	
	賦值
	
	使用(查看,比較,運算等)

作用域:

	針對於當前會話(連接)有效,同於會話變量的作用域,應用在任何地方,也就是begin  end裏面或begin end外面

自定義變量賦值的操作符 =或 :=

聲明並初始化

set	@用戶變量名=;set @用戶變量名:=;select	@用戶變量名:=;

賦值(更新用戶變量的值)

#方式一:通過set或select
set @用戶變量名=;set @用戶變量名:=;select @用戶變量名:=;
#方式二:通過select或into
select 字段 into 變量名 from;

使用(查看用戶變量的值)

select @用戶變量名;

案例:

聲明並初始化

set @name='john';
set @name=100;
set @count=1;

賦值

select count(*) into @count from employees;

查看

select @count;

五:局部變量

作用域:僅僅在定義它的begin end 中生效

應用在begin end 中的第一句話

聲明

declare 變量名	類型;

declare 變量名 類型 default 值;

賦值

方式一:	通過set或select

	set	局部變量名=值;或
	
	set	局部變量名:=值;或
	
	select @局部變量名:=值;
	
方式二:通過select into
	
		select  字段  into  局部變量名
		from 表;
使用:
select 局部變量名:

對比局部變量和用戶變量

在這裏插入圖片描述

案例:聲明兩個變量並賦初始化值,求和,並打印

#用戶變量
set @m=1;
set @n=2;
set @sum=@m+@n;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章