在MySQL中,定義變量的語法是使用“@”符號(hào)作為前綴,例如:
SET @myVar = 'Hello World';
變量名必須緊跟在“@”符號(hào)后面,且變量名不區(qū)分大小寫。MySQL會(huì)將所有的變量名都轉(zhuǎn)換為小寫。
在MySQL中,變量只存在于當(dāng)前的會(huì)話中。如果你啟動(dòng)了一個(gè)新的會(huì)話,你需要重新定義變量。例如:
-- 在當(dāng)前會(huì)話中定義變量 SET @myVar = 'Hello World'; -- 啟動(dòng)一個(gè)新的會(huì)話 USE other_database; -- 嘗試使用定義在另一個(gè)會(huì)話中的變量 SELECT @myVar; -- 輸出 NULL
此外,在MySQL中,還有一種全局變量的定義方式。全局變量必須以“@@”符號(hào)作為前綴,例如:
SET @@global.myVar = 'Hello World';
全局變量是系統(tǒng)級(jí)別的,在所有會(huì)話中都有效。但是,我們不推薦在普通的SQL語句中使用它們。
在MySQL中,還有一些特殊的變量,比如自增長(zhǎng)的計(jì)數(shù)器。這些變量在不同的版本之間可能會(huì)有所不同。