在字串中,某些序列具有特殊含義。這些序列均用反斜線(『\』)開始,即所謂的轉義字元。mysql識別下面的轉義序列:
\0ascii 0(nul)字元。
單引號(『'』)。
雙引號(『"』)。
\b退格符。
\n換行符。
\r回車符。
\ttab字元。
\zascii 26(控制(ctrl)-z)。該字元可以編碼為『\z』,以允許你解決在windows中ascii 26代表檔案結尾這一問題。(如果你試圖使用mysql db_name < file_name,ascii 26會帶來問題)。
反斜線(『\』)字元。
『%』字元。參見表後面的註解。
『_』字元。參見表後面的註解。
這些序列對大小寫敏感。例如,『\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 shell的匯入程式util.loaddump url options 在mysql shell 8.0.21中引入,支援匯入mysql並行匯入資料 進度狀態跟蹤 恢復和重置功能。備註 匯入工具使用的是load data local infile語法,所以需要設定local infile...
shell了解MySQL shell操作mysql
首先安裝mysql,yum install mysql 在做一些日常的運維工作的時候,經常需要些一些shell指令碼進行裝置效能以及其它引數的監控。在過去的一年工作中,接觸到的比較多的是對資料庫中某些資訊的監控。於是就想到了用shell mysql crontab進行實現。下面附上通過shell命令...
轉義與反轉義
span 內容會作為html 解析,其他資料沒問題,url 就不行了,url 中的 會被解釋成 amp 而上傳到伺服器,用自定義標籤即可 link style display none link document.getelementbyid link value document.geteleme...