MySQL_基礎_變量
阿新 • • 發佈:2018-07-18
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_基礎_變量