mysql負變數 MySQL的變數

2021-10-17 22:41:00 字數 1648 閱讀 5777

系統變數

系統定義好的變數,大部分時候使用者根本不需要使用系統變數。系統變數是用來控**務器表現的。如:autocommit,auto_increment_increment等。

① 檢視系統變數

--檢視所有變數

show variables;

--檢視範圍變數

show variables like '%變數名%';

修改系統變數

修改系統變數有兩種方式:會話級別和全域性級別。

會話級別

臨時修改,當前客戶端當次連線有效,關閉將會恢復預設值。

有說法稱為會話變數,屬於系統變數子集,區別與使用者變數!

set 變數名 = 變數值;

orset @@變數名 = 變數值;

示例如下:

set autocommit = 0;

set @@ autocommit = 0;

全域性級別

一次修改,永久生效(對所有客戶端都生效)。

set global 變數名 = 值;

示例如下:

set global autocommit = 1;

當前客戶端修改後需要關閉連線重新開啟,即可看到生效。

如果對方(其他)客戶端當前已經連線上伺服器,那麼當次修改無效,要退出重新登入才會生效。

④ 變數單位

不同的變數的單位不同,比如table_cache是指快取的表的個數,而key_buffer_size則是以位元組為單位,另外還有以頁或者百分比為單位的變數。

許多變數可以通過字尾制訂單位,比如1m表示一百萬位元組,在配置檔案中或者在命令列下有效。但是在使用set命令的時候,這些單位就無效,必須使用數字,單位為位元組。

比如:set @@session.sort_buffer_size = 1024*1024

或者set @@session.sort_buffer_size = 1048576

但是配置檔案中設定的時候就不能使用表示式

1 使用者變數介紹

使用者變數即使用者自己定義的變數,我們可以給使用者變數分配值,並且可用在任何可以正常使用標量表示式的地方。

引入使用者變數之前我們必須使用set語句或select語句來定義它,然後為它賦乙個值,否則變數就只有乙個空值。

使用者變數與連線有關。也就是說,乙個客戶端定義的變數不能被其它客戶端看到或使用。當客戶端退出時,該客戶端連線的所有變數將自動釋放。

2 使用者變數定義

set語句可用於向系統變數或使用者變數賦值,針對使用者變數的定義如下:

set @var_name = expr [, @var_name = expr] ...

也可使用select語句來定義:

select @var_name := expr [, @var_name = expr] ...

使用者變數:以"@"開始,形式為"@var_name",以區分使用者變數及列名。它可以是任何隨機的,復合的標量表示式,只要其中沒有列指定。

乙個變數名可以由當前字符集的數字字母字元和「_」、「$」和「.」組成。預設字符集是iso-8859-1 latin1;這可以用mysqld 的--default-character-set 選項更改字符集。

對於set,可以使用=或:=來賦值,對於select只能使用:=來賦值。、檢視使用者變數

檢視變數使用select語句

select @name;

mysql負變數 MySQL 設定變數的副作用

有時可以通過名稱推斷乙個變數的作用。例如,max heap table size的作用就行聽起來那樣 它指定隱式記憶體臨時表最大允許的大小。然而,命名的約定並不完全一樣,所以不能總是通過名稱來猜測乙個變數有什麼效果。讓我們來看一些常用的變數和動態修改它們的效果 key buffer size 設定這...

mysql環境變數中文 MySQL的環境變數

mysql的環境變數 伺服器變數 調整mysql的工作屬性,由mysql的配置檔案決定 狀態變數 mysql執行以後所輸出的自身統計資訊 在linux下檢視mysql的環境變數 1.獲取mysql客戶端幫助 usr local mysql bin mysql help v 幫助資訊中 是mysql的...

mysql如何定義變數 MySQL定義和變數賦值

變數可以在子程式 效能 儲存過程 匿名塊 宣告和使用。這些變數的範圍是在begin.end規劃。變數的定義 語法格式 declare var name var name data type default value var name為區域性變數的名稱 default value子句指定指定變數的預...