1. 程式人生 > >MySQL_基礎_變量

MySQL_基礎_變量

tro 說明 ble 初始化 會話 變量 而不是 註意 條件

變量

分類
    系統變量:
        全局變量
        會話變量

    自定義變量:
        用戶變量
        局部變量

說明
    系統變量:
        說明:變量由系統定義,不是用戶定義,屬於服務器層面
        註意:全局變量需要添加global關鍵字,會話變量需要添加session關鍵字,如果不寫,默認會話級別

    自定義變量:
        說明:變量由用戶自定義,而不是系統提供的
        使用步驟:
            1、聲明
            2、賦值
            
3、使用(查看、比較、運算等)

系統變量

全局變量
作用域:針對於所有會話(連接)有效,但不能跨重啟

1、查看所有全局變量
SHOW GLOBAL VARIABLES;

2、查看滿足條件的部分系統變量
SHOW GLOBAL VARIABLES LIKE %char%;

3、查看指定的系統變量的值
SELECT @@global.autocommit;

4、為某個系統變量賦值
SET @@global.autocommit=0;
SET GLOBAL autocommit=0;


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

1、查看所有會話變量 SHOW [SESSION] VARIABLES; 2、查看滿足條件的部分會話變量 SHOW [SESSION] VARIABLES LIKE %char%; 3、查看指定的會話變量的值 SELECT @@[session.]autocommit; 4、為某個會話變量賦值 SET @@[session.]autocommit=0; SET [SESSION] autocommit=0;

自定義變量

用戶變量
作用域:針對於當前會話(連接)有效,作用域同於會話變量

1、聲明並初始化
SET @變量名=值;
SET @變量名:
=值; SELECT @變量名:=值; 2、賦值(更新變量的值) 方式一: SET @變量名=值; SET @變量名:=值; SELECT @變量名:=值; 方式二: SELECT 字段 INTO @變量名 FROM 表; 3、使用(查看變量的值) SELECT @變量名; 局部變量 作用域:僅僅在定義它的begin end塊中有效,應用在 begin end中的第一句話 1、聲明 DECLARE 變量名 類型; DECLARE 變量名 類型 [DEFAULT 值]; 2、賦值(更新變量的值) 方式一: SET 變量名=值; SET 變量名:=值; SELECT 變量名:=值; 方式二: SELECT 字段 INTO 變量名 FROM 表; 3、使用(查看變量的值) SELECT 變量名; 案例 1、聲明兩個變量,求和並打印 # 用戶變量 SET @m=1; SET @n=1; SET @sum=@m+@n; SELECT @sum; # 局部變量 DECLARE m INT DEFAULT 1; DECLARE n INT DEFAULT 1; DECLARE sum INT; SET sum=m+n; SELECT sum; 區別      作用域   定義位置 語法 用戶變量 當前會話     會話的任何地方 加@符號, 不用指定類型 局部變量 定義它的BEGIN END中 BEGIN END的第一句話   不加@, 需要指定類型

MySQL_基礎_變量