이 글은 주로 퍼지 쿼리를 PHP로 구현하는 방법을 소개합니다. 관심 있는 친구들이 참고하면 좋을 것 같습니다.
패턴 쿼리
1. SQL 일치 모드
2. 정규식 일치 모드(일반적으로 권장되지 않음)
SQL 일치 모드
1. =또는! = 대신 LIKE 또는 NOT LIKE 연산자를 사용하세요.
2. SQL 일치 모드를 사용하면 MYSQL은 두 가지 종류의 와일드카드 문자를 제공합니다.
%는 임의의 수의 문자를 나타냅니다(0 포함).
_는 임의의 단일 문자를 나타냅니다.
3. 일치 형식에 위의 두 와일드카드 문자가 포함되지 않은 경우 쿼리 효과는 다음과 같습니다. = 또는! =
4. 일치 시에는 대소문자를 구분하지 않습니다
#查询用户名以某个字符开头的用户 #查询用户名以字符'l'开头的用户: l% SELECT * FROM user WHERE username LIKE 'l%'; #查询用户名以某个字符结尾的用户 #查询用户名以字符'e'结尾的用户: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%';
와일드카드(정규식). *는 앞에 오는 0개 이상의 문자와 일치합니다.
x*는 임의 개수의 x 문자와 일치함을 의미합니다.
[..] 괄호 안의 모든 문자와 일치합니다.
[abc] ab 또는 c 문자와 일치합니다.[a-z ] 모든 문자와 일치
-9] 모든 숫자와 일치 [0-9] a 문자 a로 시작하는 것을 의미 $는 특정 문자 또는 문자열로 끝나는 것을 의미합니다.
s$는 문자 s로 끝나는 것을 의미합니다.
정규 표현식 일치 모드를 사용하세요. 사용되는 연산자는 다음과 같습니다:
REGEXP 또는 NOT REGEXP(RLIKE 또는 NOT RLIKE)
참고: 정규식이 패턴과 일치하면 정규식이 일치하는 필드의 어느 곳에나 나타납니다.
패턴이 일치하며 아무 것도 없습니다. 일치시키려면 양쪽에 와일드카드를 넣어야 합니다.
N을 가정하여 일치시키기 위해 와일드카드 문자만 사용하는 경우 일치하는 패턴은 N보다 크거나 같음을 나타냅니다. 문장?
즉
... 3자 이상의 데이터와 일치
..... 4자 이상의 데이터와 일치#사용자 이름이 문자 l로 시작하는 사용자를 쿼리합니다. ^l;
#정규식 작성 방법SELECT * FROM user WHERE username REGEXP '^l'; #sql匹配模式写法: SELECT * FROM user WHERE username LIKE 'l%'; #查询用户名正好是三个字符的用户:^...$; #sql匹配模式写法: SELECT * FROM user WHERE username LIKE '___'; #正则表达式写法 SELECT * FROM user WHERE username REGEXP '^...$';
php
배열 처리 함수 추출에 대한 자세한 설명 및 예
in_array() 배열에 특정 값이 있는지 확인 자세한 설명
위 내용은 PHP에서 퍼지 쿼리를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!