首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 入庫特殊字符轉義完整指南

     編輯:MySQL 資料庫相關知識

MySQL 字符串轉義字符與引號處理詳解

資料入庫時,特殊字符若不轉義會導致語法錯誤或資料錯誤。本文整理 MySQL 官方識別的轉義序列與各種引號包裹場景的處理規則。

MySQL 識別的轉義字符

序列含義ASCII
\0NUL 字符0
\'單引號39
\"雙引號34
\b退格符8
\n換行符10
\r回車符13
\t製表符9
\ZControl-Z (Windows EOF)26
\\反斜線本身92
\%百分號(用於 LIKE 字面匹配)37
\_下劃線(用於 LIKE 字面匹配)95

提示:在某些語境下直接用 % 或 _ 會被視為通配符,需轉義才能匹配字面字符。

引號包裹場景的轉義規則

  • 單引號字符串:內部單引號用 ''(兩個單引號)或 \' 轉義
  • 雙引號字符串:內部雙引號用 "" 或 \" 轉義
  • 混合引號:單引號字符串內的雙引號、雙引號字符串內的單引號 無需轉義

實例演示

mysql> SELECT 'hello', '"hello"', '""hello""', 'hel''lo', '\'hello';
+-------+--------+-----------+--------+--------+
| hello | "hello" | ""hello"" | hel'lo | 'hello |
+-------+--------+-----------+--------+--------+

說明:

  • 'hel''lo' → hel'lo
  • '\'hello' → 'hello(反斜線轉義單引號)

最佳實踐

  • 應用層使用參數化查詢(Prepared Statement),由驅動自動處理轉義,避免手工拼接 SQL
  • 若必須拼接,統一使用 mysql_real_escape_string() 或對應語言的轉義函數
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved