MySQL學習筆記(10)MySQL變數

2021-10-06 11:26:50 字數 1629 閱讀 1628

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

使用語法

1、檢視所有的系統變數

show

global variables;

-- 參看所有全域性變數

show

session variables;

-- 檢視所有會話變數,可以不寫session

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

show

global variables like

'%char%'

;

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

select @@系統變數名;

select @@global.變數名;

4、為某個系統變數賦值

set 系統變數名 = 值;

--其他的在變數名前面加字首

set @@global

[session

].系統變數=值;

-- 跨連線有效

注意

如果是全域性變數,者加global,會話級別就加session,不寫預設session

作用域:伺服器每次啟動將為所有全域性變數賦初始值,針對於所有的連線的有效,重啟會恢復

作用域:針對於當前連線有效

變數是使用者自定義的,不是由系統生成的

使用步驟

宣告–>賦值–>使用

作用域:針對於當前會話(連線)有效

宣告並初始化

set @使用者變數名=值;

set @使用者變數名:值;

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

賦值(更新)

使用set 或 select,語句同上
select 字段 into 變數名 from 表;

-- 把查詢出來的值賦給變數

使用

select @變數名;

-- 參看變數的值

可以應用在任何地方,放在begin end裡面或外面

作用域:區域性有效,定義它的begin end中有效

必須指定型別,可以不賦初始值,只能在begin end的第一句話

宣告

declare 變數名 型別;

declare 變數名 型別 default 值;

賦值

同使用者變數,使用set時不用@,使用select時要
使用

select 區域性變數名;

作用域定義和使用位置

語法使用者變數

當前會話

會話中的任何地方

必須加@

區域性變數

begin end中

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

一般不用@符號

MySQL學習筆記1 0

1.這兩種日誌有以下三點不同。redo log 是 innodb 引擎特有的 binlog 是 mysql 的 server 層實現的,所有引擎都可以使用。2.redo log 是物理日誌,記錄的是 在某個資料頁上做了什麼修改 binlog 是邏輯日誌,記錄的是這個語句的原始邏輯。3.redo lo...

Mysql學習筆記 10 函式

含義 一組預先編譯好的sql語句的集合,可以理解成批處理語句 作用 和儲存過程的區別 儲存過程 可以有0個返回,也可以有多個返回,適合做批量插入 批量更新 函式 有且僅有1 個返回,適合做處理資料後返回乙個結果 delimiter create function 函式名 引數列表 returns 返...

Mysql學習筆記 10 聯合查詢

只有行動才能決定我在職場上的價值。若要加倍我的價值,我必須加倍努力。說明 當查詢結果來自於多張表,但多張表之間沒有關聯,這個時候往往使用聯合查詢,也稱為union查詢 語法 select 查詢列表 from 表1 where 篩選條件 union select 查詢列表 from 表2 where ...