一、變數分類
(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基礎 變數
變數介紹 系統變數 變數由系統提供,不是使用者定義,屬於伺服器層面 全域性變數 作用域 伺服器每次啟動將為多有的全域性變數賦初始值,針對於所有的會話 連線 有效,但不能跨重啟,會話變數 作用域 僅僅針對於當前的會話 連線 有效。自定義變數 變數是使用者自定義的,不是由系統提供的 使用者變數 作用域 ...