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