在MySQL中,可以使用LIKE關鍵字實現模糊查詢,從而篩選出符合條件的數據。以下是使用LIKE實現數據篩選的幾種方法:
SELECT * FROM table_name WHERE column_name LIKE 'pattern';
其中,table_name
是要查詢的表名,column_name
是要篩選的列名,pattern
是模糊匹配的模式。例如,如果要查詢所有名字以"張"開頭的用戶,可以使用以下語句:
SELECT * FROM users WHERE name LIKE '張%';
MySQL中LIKE語句支持兩個通配符:%
和_
。其中,%
表示匹配任意個字符(包括0個字符),_
表示匹配任意一個字符。
使用%
進行模糊匹配:
SELECT * FROM table_name WHERE column_name LIKE '%pattern%';
例如,如果要查詢所有名字包含"三"的用戶,可以使用以下語句:
SELECT * FROM users WHERE name LIKE '%三%';
使用_
進行模糊匹配:
SELECT * FROM table_name WHERE column_name LIKE '_pattern';
例如,如果要查詢所有名字只有兩個字,且第二個字是"三"的用戶,可以使用以下語句:
SELECT * FROM users WHERE name LIKE '_三';
可以通過組合LIKE關鍵字與其他邏輯運算符(如AND、OR、NOT)來進行更復雜的查詢。
使用AND進行多個條件查詢:
SELECT * FROM table_name WHERE column_name1 LIKE 'pattern1' AND column_name2 LIKE 'pattern2';
使用OR進行多個條件查詢:
SELECT * FROM table_name WHERE column_name1 LIKE 'pattern1' OR column_name2 LIKE 'pattern2';
使用NOT進行否定查詢:
SELECT * FROM table_name WHERE NOT column_name LIKE 'pattern';
例如,如果要查詢所有名字不包含"三"的用戶,可以使用以下語句:
SELECT * FROM users WHERE NOT name LIKE '%三%';