mysql 轉義 MySql字元轉義

2021-10-18 09:58:00 字數 1630 閱讀 8955

在字串中,某些序列具有特殊含義。這些序列均用反斜線(『\』)開始,即所謂的轉義字元。mysql識別下面的轉義序列:

\0ascii 0(nul)字元。

單引號(『'』)。

雙引號(『"』)。

\b退格符。

\n換行符。

\r回車符。

\ttab字元。

\zascii 26(控制(ctrl)-z)。該字元可以編碼為『\z』,以允許你解決在windows中ascii 26代表檔案結尾這一問題。(如果你試圖使用mysql db_name 

反斜線(『\』)字元。

『%』字元。參見表後面的註解。

『_』字元。參見表後面的註解。

這些序列對大小寫敏感。例如,『\b』解釋為退格,但『\b』解釋為『b』。

在其它轉義序列中,反斜線被忽略。也就是說,轉義字元解釋為彷彿沒有轉義。

有幾種方式可以在字串中包括引號:

·         在字串內用『'』引用的『'』可以寫成『''』。

·         在字串內用『"』引用的『"』可以寫成『""』。

·         可以在引號前加轉義字元(『\』)。

·         在字串內用『"』引用的『'』不需要特殊處理,不需要用雙字元或轉義。同樣,在字串內用『'』引用的『"』也不需要特殊處理。

下面的select語句顯示了引用和轉義如何工作:

mysql> select 'hello', '"hello"', '""hello""', 'hel''lo', '\'hello';

| hello | "hello" | ""hello"" | hel'lo | 'hello |

mysql> select "hello", "'hello'", "''hello''", "hel""lo", "\"hello";

| hello | 'hello' | ''hello'' | hel"lo | "hello |

mysql> select 'this\nis\nfour\nlines';

| this

isfour

lines |

如果你想要在字串列內插入二進位制資料(例如blob),必須通過轉義序列表示下面的字元:

nulnul位元組(ascii 0)。用『\0』表示該字元(反斜線後面跟乙個ascii『0』字元)。

反斜線(ascii 92)。用『\\』表示該字元。

單引號(ascii 39)。用『\'』表示該字元。

雙引號(ascii 34)。用『\"』表示該字元。

當編寫應用程式時,在包含這些特殊字元的字串用於傳送到mysql伺服器的sql語句中的資料值之前,必須對它們正確進行轉義。可以用兩種方法來完成:

·         用轉義特殊字元的函式處理字串。例如,在c程式中,可以使用mysql_real_escape_string() c api函式來轉義字元。參見25.2.3.52節,「mysql_real_escape_string()」。perl dbi介面提供乙個quote方法來將特殊字元轉換為正確的轉義序列。參見25.4節,「mysql perl api」。

·         顯式轉義特殊字元,許多mysql api提供了佔位符功能,允許你在查詢字串中插入特殊標記,然後當你發出查詢時將資料值同它們繫結起來。在這種情況下,api關注轉義值中的特殊字元。

mysql shell 轉義 MySql字元轉義

在字串中,某些序列具有特殊含義。這些序列均用反斜線 開始,即所謂的轉義字元。mysql識別下面的轉義序列 0ascii 0 nul 字元。單引號 雙引號 b退格符。n換行符。r回車符。ttab字元。zascii 26 控制 ctrl z 該字元可以編碼為 z 以允許你解決在windows中ascii...

mysql 轉義字元6 mysql轉義字元

mysql的轉義字元 mysql識別下列轉義字元 0乙個ascii 0 nul 字元。n乙個新行符。t乙個定位符。r乙個回車符。b乙個退格符。乙個單引號 符。乙個雙引號 符。乙個反斜線 符。乙個 符。它用於在正文中搜尋 的文字例項,否則這裡 將解釋為乙個萬用字元。乙個 符。它用於在正文中搜尋 的文字...

MySQL轉義字元

在mysql中,乙個字串中,如果某個序列具有特殊的含義,則這個序列以反斜線符號 開頭,稱為轉義字元。常見的轉義字元 0 ascii 0 nul 字元 ascii 39 單引號 字元 ascii 34 雙引號 字元 b ascii 8 退格符 n ascii 10 換行符 r ascii 13 回車符...