您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“MYSQL中的變量的概念”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“MYSQL中的變量的概念”吧!
變量分為用戶變量與系統(tǒng)變量。
用戶變量:
用戶變量與連接有關(guān),在這個連接中聲明的變量,在連接斷開的時候,就會消失。
在此連接中聲明的變量無法在另一連接中使用。
用戶變量的變量名的形式為@varname的形式。
名字必須以@開頭。
聲明變量的時候需要使用set語句,比如下面的語句聲明了一個名為@a的變量。
set @a = 1;
聲明一個名為@a的變量,并將它賦值為1,里面的變量是不嚴格限制數(shù)據(jù)類型的,它的數(shù)據(jù)類型根據(jù)你賦給它的值而隨時變化 。
(SQL SERVER中使用declare語句聲明變量,且嚴格限制數(shù)據(jù)類型。)
我們還可以使用select 語句為變量賦值 。
比如:
set @name = ;
select @name:=password from user limit 0,1;
(注意等于號前面有一個冒號,后面的limit 0,1是用來限制返回結(jié)果的,相當于SQL SERVER里面的top 1)
如果直接寫:
select @name:=password from user;
如果這個查詢返回多個值的話,那@name變量的值就是最后一條記錄的password字段的值 。
系統(tǒng)變量:
系統(tǒng)變量又分為全局變量與會話變量。
全局變量在MYSQL啟動的時候由服務器自動將它們初始化為默認值,這些默認值可以通過更改my.ini這個文件來更改。
會話變量在每次建立一個新的連接的時候,由MYSQL來初始化。MYSQL會將當前所有全局變量的值復制一份。來做為會話變量。
(也就是說,如果在建立會話以后,沒有手動更改過會話變量與全局變量的值,那所有這些變量的值都是一樣的。)
全局變量與會話變量的區(qū)別就在于,對全局變量的修改會影響到整個服務器,但是對會話變量的修改,只會影響到當前的會話
(也就是當前的數(shù)據(jù)庫連接)。
我們可以利用
show session variables;
語句將所有的會話變量輸出:
(可以簡寫為show variables,沒有指定是輸出全局變量還是會話變量的話,默認就輸出會話變量。)
mysql> show global variables;
+---------------------------------+----------------------------------------------------------------+
| Variable_name | Value |
+---------------------------------+----------------------------------------------------------------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
| automatic_sp_privileges | ON |
..................................省略..............................
| tmpdir | C:WINDOWSTEMP |
| transaction_alloc_block_size | 8192 |
| transaction_prealloc_size | 4096 |
| tx_isolation | REPEATABLE-READ |
| updatable_views_with_limit | YES |
| version | 5.0.67-community-nt |
| version_comment | MySQL Community Edition (GPL) |
| version_compile_machine | ia32 &n
到此,相信大家對“MYSQL中的變量的概念”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。