系統變數:
全域性變數
會話變數
自定義變數:
使用者變數
區域性變數
說明:變數由系統提供,不是使用者定義,屬於伺服器層面
注意:如果是全域性級別,則需要加global
如果是會話級別,則需要加session
如果不寫,則預設為session
使用語法:
1、檢視所有的系統變數
show
global
/【session】 variables;
2、檢視滿足條件的部分系統變數
show
global
/【session】 variables like
'%char%'
;
3、檢視指定的某個系統變數的值
select @@global
/【session】.系統變數名;
4、為某個系統變數賦值
#方式一
setglobal
/【session】 系統變數名 = 值;
#方式二
set @@global
/【session】.系統變數名 = 值;
作用域:伺服器每次啟動將為所有的全域性變數賦初始值,針對於所有的會話(連線)有效,但不能跨重啟。
1.檢視所有的全域性變數
show
global variables;
2.檢視部分的全域性變數
#例
show
global variables like
'%char%'
;
3.檢視指定的全域性變數的值
#例
select @@global.autocommit
;select @@transaction_isolation
;
4.為某個指定的全域性變數賦值
#例
set @@global.autocommit=0
;#跨連線有效
作用域:僅僅針對於當前會話(連線)有效
1、檢視所有的會話變數
show
session variables;
show variables;
2、檢視部分的會話變數
show variables like
'%char%'
;show
session variables like
'%char%'
;
3、檢視指定的某個會話變數
select @@transaction_isolation
;select @@session.transaction_isolation
;
4、為某個會話變數賦值
set @@session.transaction_isolation
='read-uncommitted'
;set
session transaction_isolation =
'read-committed'
;
說明:變數是使用者自定義的,不是由系統定義的
使用步驟:
宣告賦值
使用(檢視、比較、運算等)
作用域:針對於當前會話(連線)有效,同於會話變數的作用域
應用在任何地方,也就是begin end裡面或begin end 外面都可以。
賦值的操作符: = 或 :=
①宣告並初始化
set @使用者變數名=值;或
set @使用者變數名:=值;或
select @使用者變數名:=值;
②賦值(更新使用者變數的值)
方式一:通過set或select
set @使用者變數名=值;或
set @使用者變數名:=值;或
select @使用者變數名:=值;
方式二:通過select into
select 字段 into @變數名
from 表;
③使用(檢視使用者變數的值)
select @使用者變數名
演示:
#宣告並初始化
set@count=1
;#賦值
select
count(*
)into
@count
from employees;
#檢視select
@count
;
作用域:僅僅在定義它的begin end中有效
應用在 begin end 中的第一句話 ☆☆☆
①宣告declare 變數名 型別;
declare 變數名 型別 default 值;
②賦值方式一:通過set或select
set 區域性變數名=值;或
set 區域性變數名:=值;或
select @區域性變數名:=值;
方式二:通過select into
select 字段 into 區域性變數名
from 表;
③使用select 區域性變數名;
對比使用者變數和區域性變數:
使用者變數vs區域性變數
作用域:當前會話 / begin end 中
定義和使用的位置:會話中的任何地方 / 只能在begin end 中,且為第一句話
語法:必須加@符號,不用限定型別 / 一般不用加@符號,需要限定型別
案例:宣告兩個變數並賦初始值,求和,並列印
1.使用者變數
set@m=
1;set@n=2
;set
@sum=@m
+@n;select
@sum
;
2.區域性變數
# 報錯寫法,只能在begin end 裡面用
declare m int
default1;
declare n int
default2;
declare sum int
;set sum=m+n;
select sum;
Mysql學習隨筆 5
1.主鍵 不能重複 不能為空 索引 一張表只能有乙個主鍵 乙個主鍵可以是多列 2.外來鍵 約束不重複 可以為空 節省空間 加速查詢 3.外來鍵例項 create table t5 nid int 11 not null auto increment,pid int 11 not null,num i...
Mysql學習隨筆 4
sql語句規則 操作資料夾 建立資料庫 create database db2 create database db2 default charset utf8 檢視資料庫資訊 show databases 刪除資料庫 drop database db2 操作檔案 檢視 show tables 建立...
MySQL學習13 MySQL日誌
日誌 描述重做日誌 redo log 一種物理格式的日誌,記錄的是物理資料頁面的修改的資訊,其redo log是順序寫入redo log file的物理檔案中去的。回滾日誌 undo log 一種邏輯格式的日誌,在執行undo的時候,僅僅是將資料從邏輯上恢復至事務之前的狀態,而不是從物理頁面上操作實...