(十一)MySQL基礎 變數

2021-08-30 08:37:50 字數 2986 閱讀 4401

一、變數分類

(1)系統變數:根據作用域不同又劃分為——全域性變數和會話變數

(2)自定義變數:使用者變數、區域性變數

二、變數說明

1、系統變數

說明:變數是由系統提供,不是使用者定義,屬於伺服器層面

使用語法:如果是全域性變數,則需要加global;如果是會話級別,則需要加session;如果不寫,則預設session

(1)檢視所有的系統變數

-- 檢視全域性變數

show global variables;

-- 檢視會話變數

show session variables;

-- 預設是檢視會話變數

show variables

(2)檢視滿足條件的部分系統變數

-- 案例檢視滿足條件的全域性變數

show global variables like '%char'

-- 案例檢視滿足條件的會話變數

show session variables like '%char'

-- 預設是檢視會話變數

show variables like '%char'

(3)檢視指定的某個系統變數的值

-- 檢視指定的全域性變數

show @@global.系統變數名;

-- 檢視指定的會話變數

show @@session.系統變數名;

-- 預設是檢視會話變數

show @@系統變數名

(4)為某個系統變數賦值

------------------  方式一  --------------------

-- 給全域性變數賦值

set global 系統變數名 = 值;

-- 給會話變數賦值

set session 系統變數名 = 值;

-- 預設是給會話變數賦值

set 系統變數名 = 值;

------------------ 方式二 ---------------------

-- 給全域性變數賦值

set @@global.系統變數名 = 值;

-- 給會話變數賦值

set @@session.系統變數名 = 值;

-- 預設是給會話變數賦值

set @@系統變數名 = 值;

全域性變數的作用域:伺服器每次啟動將為所有的全域性變數賦初始值,針對於所有的會話(或者叫連線)生效,但不能跨重啟

會話變數的作用域:僅僅針對當前會話(連線)有效

2、自定義變數

說明:變數是使用者自定義的,不是由系統建立的

使用步驟:宣告、賦值、使用(檢視、比較、運算等)

(1)使用者變數

作用域:針對於當前會話(連線)有效,同會話變數的作用域

使用語法:

①宣告並初始化——賦值的操作符:=:=

-------------------  方式一  -------------------

set @使用者變數名 = 值;

------------------- 方式二 -------------------

set @使用者變數名 := 值;

------------------- 方式三 -------------------

select @使用者變數名 := 值;

②賦值(更新使用者變數的值)

-------------------  方式1.1 通過set或select -------------------

set @使用者變數名 = 值;

------------------- 方式1.2 -------------------

set @使用者變數名 := 值;

------------------- 方式1.3 -------------------

select @使用者變數名 := 值;

------------------- 方式2.1 通過select into -------------------

select 字段 into @變數名 from 表;

③使用(檢視使用者變數的值)

select @使用者變數名;
(2)區域性變數

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

應用場景:應用在begin   end 中第一句話

使用語法:

①宣告

declare 變數名 型別;

declare 變數名 型別 default 值;

②賦值

-------------------  方式1.1 通過set或select -------------------

set 區域性變數名 = 值;

------------------- 方式1.2 -------------------

set 區域性變數名 := 值;

------------------- 方式1.3 -------------------

select @區域性變數名 := 值;

------------------- 方式2.1 通過select into -------------------

select 字段 into 區域性變數名 from 表;

③使用

select 區域性變數名;
(3)使用者變數和區域性變數對比

作用域定義和使用的位置

語法使用者變數

當前會話

會話中的任何地方

必須加@符號,不用限定型別

區域性變數

begin  end中

只能在begin  end中,且為第一句話

一般不加@符號,需要限定型別

Mysql入門(十一)之變數

變數分為兩種 系統變數和自定義變數 系統定義好的變數 大部分的時候使用者根本不需要使用系統變數 系統變數是用來控 務器的表現的 如autocommit,auto increment等 show variables 檢視所有系統變數 檢視具體變數值 任何乙個有資料返回的內容都是由select檢視 se...

MySQL基礎 變數

二 自定義變數 3.區域性變數 三 案例詳解 mysql的變數分為兩大類 系統變數 自定義變數 1.系統變數 全域性變數 會話變數 2.自定義變數 使用者變數 區域性變數1.系統變數說明 變數由系統提供,不是使用者定義,屬於伺服器層面2.全域性變數作用域 伺服器每次啟動將為所有的全域性變數賦初始值。...

MySQL基礎 變數

變數介紹 系統變數 變數由系統提供,不是使用者定義,屬於伺服器層面 全域性變數 作用域 伺服器每次啟動將為多有的全域性變數賦初始值,針對於所有的會話 連線 有效,但不能跨重啟,會話變數 作用域 僅僅針對於當前的會話 連線 有效。自定義變數 變數是使用者自定義的,不是由系統提供的 使用者變數 作用域 ...