更新時(shí)間:2023-02-09 來(lái)源:黑馬程序員 瀏覽量:
雖然使用關(guān)系運(yùn)算符=可以查詢出相應(yīng)條件的數(shù)據(jù),但這要求所查詢的數(shù)據(jù)信息必須準(zhǔn)確。那么當(dāng)我們不能夠準(zhǔn)確記住要查詢字段的信息,只是記住了幾個(gè)字時(shí),該怎么辦呢?這時(shí),可以采用MySQL中提供的一種帶LIKE關(guān)鍵字的查詢,也就是俗稱的模糊查詢。
使用LIKE關(guān)鍵字的SELECT語(yǔ)句的語(yǔ)法格式如下所示:
SELECT * |{字段名1,字段名2,...} FROM表名 WHERE 字段名 [NOT] LIKE'匹配字符串';
在上述語(yǔ)法格式中,NOT是可選參數(shù),使用NOT表示查詢與指定字符串不匹配的記錄。匹配字符串指定用于匹配的字符串,其值可以是一個(gè)普通字符串,也可以是包含百分號(hào)(%)的通配字符串。百分號(hào)稱為通配符,在通配符字符串中有特殊含義,它會(huì)匹配任意長(zhǎng)度的字符串,包括空字符串。例如,字符串c%會(huì)匹配以字符c開(kāi)始,任意長(zhǎng)度的字符串,如ct、cut、current等。
以查找goods表中name字段值中包含“筆”的商品信息為例,其查詢SQL語(yǔ)句如下所示:
SELECT * FROM goods WHERE NAME LIKE"%筆%";
執(zhí)行上述SQL語(yǔ)句后,其結(jié)果如圖16-13所示。
圖16-13 執(zhí)行結(jié)果
從執(zhí)行結(jié)果中我們可以看到,已經(jīng)查詢出了name字段值中所有包含筆的數(shù)據(jù)。需要注意的是,百分號(hào)通配符可以出現(xiàn)在通配符字符串的任意位置。