mysql變數的分類 MySQL的四種變數型別

2021-10-18 03:20:44 字數 1063 閱讀 1314

一.全域性變數

在系統執行期間動態更改其引數,重啟後失效.

set gloabl var=***;

set @@global.var=***;

以上兩種方式等效

檢視系統的全域性變數

show global variables [like "%"];

二.使用者變數

對當前回話有效,回話結束後,變數銷毀

set @var=***;

select @var:=uid from table where id=10;

使用@作為字首識別符號,set可以使用=或=:賦值,select則只能用:=進行賦值

乙個典型的示例:

將積分表中更新後的積分返回,用於其他操作

update test set score=@score:=score+1 where id=1;

select @score;

三.會話變數

對當前回話有效,回話結束後,變數銷毀

set session var_name = value;

set @@session.var_name = value;

set var_name = value;

以上三種方式等效

會話變數和使用者變數的區別在於,除了字首識別符號外,會話變數是系統預先定義的一組變數,你不可能定義乙個不存在的使用者變數.

如set test='test';

[err] 1193 - unknown system variable 'test';

也就是會話變數只能被update而不能被insert

檢視當前會話的變數

show [session] variables [like "%"];(其中session為預設,可以不用寫)

常見的如消除mysql預設的sql_mode模式,改為最為寬鬆的模式

set sql_mode='';

四.區域性變數

declear var integer default 0;

一般定義在begin和end語句塊之間,語句塊結束即消失.

ps:begin和end之間用於定義一組sql復合語句;

mysql變數的術語分類

1.使用者變數 以 開始,形式為 變數名 使用者變數跟mysql客戶端是繫結的,設定的變數,只對當前使用者使用的客戶端生效 2.全域性變數 定義時,以如下兩種形式出現,set global 變數名 或者 set global.變數名 對所有客戶端生效。只有具有super許可權才可以設定全域性變數 3...

mysql負變數 MySQL的變數

系統變數 系統定義好的變數,大部分時候使用者根本不需要使用系統變數。系統變數是用來控 務器表現的。如 autocommit,auto increment increment等。檢視系統變數 檢視所有變數 show variables 檢視範圍變數 show variables like 變數名 修改...

mysql的分類排名 MySQL分類排名問題

實現對學生按課程依成績高低進行排序 建表 create table test id int 11 not null auto increment,name varchar 20 default null,course varchar 20 default null,score int 11 defa...