MySQL中的問號是一個重要的特殊字符。MySQL中問號主要有兩種用途:作為占位符和作為通配符。
作為占位符
在MySQL中,問號可以作為占位符,在SQL語句中代替一個或多個參數。這樣可以減少SQL語句的編寫量,同時也增加了SQL語句的靈活性。
SELECT * FROM `users` WHERE name = ? AND age = ?
上面的例子中,?
表示需要在執行SQL語句時被替換的參數。在實際執行時,MySQL會根據?
的順序,將對應的參數值填充進去。
作為通配符
在MySQL中,問號還可以作為通配符,用于匹配任意一個字符。常見的用法是在LIKE
表達式中使用。
SELECT * FROM `users` WHERE name LIKE '張?'
上面的例子中,?
表示任意一個字符。這樣的查詢可以匹配到所有姓“張”的用戶。
另外,可以使用_
表示匹配一個字符,%
表示匹配任意數量的字符。
SELECT * FROM `users` WHERE name LIKE '_張%'
上面的例子中,_張%
可以匹配到所有名字為兩個字,姓為“張”的用戶。