在使用C語言操作MySQL數(shù)據(jù)庫時,經(jīng)常需要進行模糊查詢。可以使用MySQL的LIKE關(guān)鍵字來進行模糊查詢。
char *query_str = "SELECT * FROM table WHERE name like '%keyword%'" mysql_query(connection, query_str);
上述代碼中,query_str
表示查詢語句,connection
表示連接數(shù)據(jù)庫的連接,name
表示需要進行模糊查詢的列,keyword
表示需要進行模糊匹配的關(guān)鍵字。
使用LIKE進行模糊查詢時,關(guān)鍵字前后需要加上通配符%
,表示可以匹配任意一個或多個字符。例如,查詢姓“王”的人可以使用以下查詢語句:
char *query_str = "SELECT * FROM table WHERE name like '王%'" mysql_query(connection, query_str);
該查詢語句表示查詢姓名以“王”開頭的人。
若查詢不知道姓名的前面幾個字符的人,可以使用以下查詢語句:
char *query_str = "SELECT * FROM table WHERE name like '%王%'" mysql_query(connection, query_str);
該查詢語句表示查詢姓名中包含“王”字符的人。
需要注意的是,使用LIKE進行模糊查詢時,效率可能會比較低,因為需要對表中所有記錄進行掃描。在大規(guī)模數(shù)據(jù)集合中,建議使用全文檢索等高效查詢方法。