mysql数据库入门教程(12):变量讲解大全
變量的介紹
#變量
/*
系統變量:
全局變量
會話變量
自定義變量:
用戶變量
局部變量
*/
一.系統變量
說明:變量由系統定義,不是用戶定義,屬于服務器層面
注意:全局變量需要添加global關鍵字,會話變量需要添加session關鍵字,如果不寫,默認會話級別
1.使用方法
1、查看所有系統變量
show global|【session】variables;
2、查看滿足條件的部分系統變量
show global|【session】 variables like ‘%char%’;#查看字符集
3、查看指定的系統變量的值
select @@global|【session】系統變量名;
4、為某個系統變量賦值
方式一:
set global|【session】系統變量名=值;
方式二:
set @@global|【session】系統變量名=值;
2.演示
#1》全局變量
/*
作用域:針對于所有會話(連接)有效,但不能跨重啟
*/
全局變量:服務器每次啟動將為所有的全局變量賦初始值,針對所有的會話(連接)有效,但不能跨重啟,即下一次重啟服務器,設置的值恢復原樣。如果需要修改每次重啟的值則要修改配置文件
#①查看所有全局變量
SHOW GLOBAL VARIABLES;
#②查看滿足條件的部分系統變量
SHOW GLOBAL VARIABLES LIKE ‘%char%’;
#③查看指定的系統變量的值
SELECT @@global.autocommit;#查看自動提交
#④為某個系統變量賦值
SET @@global.autocommit=0;#設置自動提交為false
SET GLOBAL autocommit=0;
#2》會話變量
/*
作用域:針對于當前會話(連接)有效
*/
以SQLyang客戶端舉例,會話指一個詢問
#①查看所有會話變量
SHOW SESSION VARIABLES;
#②查看滿足條件的部分會話變量
SHOW SESSION VARIABLES LIKE ‘%char%’;
#③查看指定的會話變量的值
SELECT @@autocommit;#查看自動提交
SELECT @@session.tx_isolation;#查看事務隔離級別
#④為某個會話變量賦值
SET @@session.tx_isolation=‘read-uncommitted’;
SET SESSION tx_isolation=‘read-committed’;
二.用戶自定義變量
/*
說明:變量由用戶自定義,而不是系統提供的
使用步驟:
1、聲明
2、賦值
3、使用(查看、比較、運算等)
*/
#1》用戶變量
/*
作用域:針對于當前會話(連接)有效,作用域同于會話變量
*/
#賦值操作符:=或:=
#①聲明并初始化
SET @變量名=值;
SET @變量名:=值;
SELECT @變量名:=值;
#②賦值(更新變量的值)
#方式一:
SET @變量名=值;
SET @變量名:=值;
SELECT @變量名:=值;
#方式二:
SELECT 字段 INTO @變量名
FROM 表;#將查詢的字段賦給變量
#③使用(查看變量的值)
SELECT @變量名;
#2》局部變量
/*
作用域:僅僅在定義它的begin end塊中有效
應用在 begin end中的第一句話
*/
#①聲明
DECLARE 變量名 類型;
DECLARE 變量名 類型 【DEFAULT 值】;
#②賦值(更新變量的值)
#方式一:
SET 局部變量名=值;
SET 局部變量名:=值;
SELECT 局部變量名:=值;
#方式二:
SELECT 字段 INTO 具備變量名
FROM 表;
#③使用(查看變量的值)
SELECT 局部變量名;
案例
用戶變量
局部變量
#局部變量 # m變量名 int 類型 DEFAULT 1 初始化為1DECLARE m INT DEFAULT 1; DECLARE n INT DEFAULT 1; DECLARE SUM INT; SET SUM=m+n; SELECT SUM;報錯,begin end 未寫
電氣工程的計算機萌新,寫博文不容易。如果你覺得本文對你有用,請點個贊支持下,謝謝。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的mysql数据库入门教程(12):变量讲解大全的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人口负增长是什么原因引起的
- 下一篇: mysql数据库入门教程(13):存储过