在一個字符串中,如果某個序列具有特殊的含義,每個序列以反斜線符號 (“”)開頭,稱為轉義字符。 MySQL 識別下列轉義字符:
0
一個 ASCII 0 (NUL) 字符。
'
一個 ASCII 39 單引號 (“'”) 字符。
"
一個 ASCII 34 雙引號 (“"”) 字符。
一個 ASCII 8 退格符。
一個 ASCII 10 換行符。
r
一個 ASCII 13 回車符。
t
一個 ASCII 9 制表符(TAB)。
z
ASCII(26) (Control-Z)。這個字符可以處理在 Windows 系統中 ASCII(26) 代表一個文件的結束的問題。(當使用 mysql database < filename 時 ASCII(26) 可能會引起問題產生。)
一個 ASCII 92 反斜線 (“”) 字符。
%
一個 ASCII 37 “%” 字符。它用於在正文中搜索“%”的文字實例,否則這裡“%”將解釋為一個通配符。
_
一個 ASCII 95 “_” 字符。它用於在正文中搜索“_”的文字實例,否則這裡“_”將解釋為一個通配符。
注意如果在某些正文環境內使用 “%” 或 “_”,將返回字符串 “%” 和 “_” 而不是 “%” 和 “_”。
字符串中包含引號的可以有下列幾種寫法:
一個字符串用單引號“'”來引用的,該字符串中的單引號“'”字符可以用“''”方式轉義。
一個字符串用雙引號“"”來引用的,該字符串中的“"”字符可以用“""”方式轉義。
你也可以繼續使用在引號前加一個轉義字符“”來轉義的方式。
一個字符串用雙引號“"”來引用的,該字符串中的單引號“'”不需要特殊對待而且不必被重復或轉義。同理,一個字符串用單引號“'”來引用的,該字符串中的雙引號“"”不需要特殊對待而且不必被重復或轉義。
下面顯示的 SELECT 演示引號和轉義是如何工作:
mysql> SELECT 'hello', '"hello"', '""hello""', 'hel''lo', ''hello