溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php實(shí)現(xiàn)模糊查詢的方法

發(fā)布時(shí)間:2020-08-21 14:23:14 來源:億速云 閱讀:233 作者:小新 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)php實(shí)現(xiàn)模糊查詢的方法,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

php實(shí)現(xiàn)模糊查詢的方法:1、使用SQL匹配模式,操作符就要使用LIKE或NOT LIKE,匹配時(shí),不區(qū)分大小寫;2、使用正則表達(dá)式匹配模式,其正則表達(dá)式出現(xiàn)在匹配字段的任意位置。

php實(shí)現(xiàn)模糊查詢的方法

php實(shí)現(xiàn)模糊查詢的方法:

方法1:SQL匹配模式

1.使用sql匹配模式,不能使用操作符=!=,而是使用操作符LIKE或NOT LIKE;

2.使用sql匹配模式,MYSQL提供了2種通配符。

  • %表示任意數(shù)量的任意字符(其中包括0個)

  • _表示任意單個字符

3.使用sql匹配模式,如果匹配格式中不包含以上2種通配符中的任意一個,其查詢的效果等同于=或!=

4.使用sql匹配模式,匹配時(shí),不區(qū)分大小寫

#查詢用戶名以某個字符開頭的用戶
#查詢用戶名以字符'l'開頭的用戶: l%
SELECT * FROM user WHERE username LIKE 'l%';
#查詢用戶名以某個字符結(jié)尾的用戶
#查詢用戶名以字符'e'結(jié)尾的用戶:e%
SELECT * FROM user WHERE username LIKE 'e%';
#查詢用戶名包含某個字符的用戶
#查詢用戶名包含字符'o'的用戶:%o%
SELECT * FROM user WHERE username LIKE '%o%';
#查詢包含三個字符的用戶
SELECT * FROM user WHERE username LIKE '___';
#查詢用戶名第二個字符為o的用戶:_o%
SELECT * FROM user WHERE username LIKE '_o%';

方法2:正則表達(dá)式匹配模式

通配符(正則表達(dá)式)

.匹配任意的單個字符

*匹配0個或多個在它前面的字符

x*表示匹配任何數(shù)量的x字符

  • [..]匹配中括號中的任意字符

  • [abc]匹配字符ab或c

  • [a-z]匹配任意字母

  • [0-9]匹配任意數(shù)字

  • [0-9]*匹配任意數(shù)量的任何數(shù)字

  • [a-z]*匹配任何數(shù)量的字母

^表示以某個字符或字符串開始

^a 表示以字母a開頭

$表示以某個字符或字符串結(jié)尾

s$表示以字母s結(jié)尾

使用正則表達(dá)式匹配模式使用的操作符是:

REGEXP NOT REGEXP(RLIKE 或 NOT RLIKE)

注意:正則表達(dá)式匹配模式,其正則表達(dá)式出現(xiàn)在匹配字段的任意位置,

其模式就算匹配了,不必在兩側(cè)放一個通配符來使得其匹配;

如果僅用通配符 . 來匹配,假設(shè)N個,那么其匹配模式表示,大于等于N個;

怎么理解上面這句話呢?

就是說

...   匹配大于等于3個字符的數(shù)據(jù)

....  匹配大于等于4個字符的數(shù)據(jù)

#查詢用戶名以字符 l開頭的用戶:^l;

#正則表達(dá)式寫法

SELECT * FROM user WHERE username REGEXP '^l';
#sql匹配模式寫法:
SELECT * FROM user WHERE username LIKE 'l%';
#查詢用戶名正好是三個字符的用戶:^...$;
#sql匹配模式寫法:
SELECT * FROM user WHERE username LIKE '___';
#正則表達(dá)式寫法
SELECT * FROM user WHERE username REGEXP '^...$';

關(guān)于php實(shí)現(xiàn)模糊查詢的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI