>  기사  >  데이터 베이스  >  mysql 퍼지 쿼리 문이란 무엇입니까?

mysql 퍼지 쿼리 문이란 무엇입니까?

烟雨青岚
烟雨青岚원래의
2020-06-16 10:09:265569검색

mysql 퍼지 쿼리 문이란 무엇입니까?

mysql 퍼지 쿼리 문이란 무엇입니까?

퍼지 쿼리 문은 다음과 같습니다: "SELECT field FROM table WHERE 특정 필드 Like 조건".

mysql은 네 가지 일치 모드를 제공합니다.

1, %는 0개 이상의 문자를 나타냅니다.

다음 명령문:

SELECT * FROM user WHERE name LIKE ';%三%';

은 "Zhang San", "Three-legged Cat", "Tang Sanzang" 등의 이름을 "三"으로 변경합니다. 모두 찾아보세요.

2. _는 단일 문자를 나타냅니다. 명령문:

SELECT * FROM user WHERE name LIKE ';_三_';

이름이 세 글자이고 중간 글자가 "三"인 "Tang Sanzang"만 찾습니다.

SELECT * FROM user WHERE name LIKE; ';三__';

이름이 세 글자이고 첫 글자가 "三";

이 되도록 "세다리 고양이"만 찾습니다. 3. 괄호 안에 나열된 문자 중 하나(유사)를 의미합니다. 정규식으로).

문:

SELECT * FROM user WHERE name LIKE ';[张李王]三';

는 "Zhang San", "Li San", "Wang San"("Zhang Li Wang] 대신)을 찾습니다. "3");

[ ]에 일련의 문자(01234, abcde 등)가 포함된 경우 "0-4", "a-e"로 축약할 수 있습니다.

SELECT * FROM user WHERE name LIKE ';old [1- 9]';

"Old 1", "Old 2",..., "Old 9"를 찾습니다.

"-" 문자를 찾으려면 먼저 입력하세요.'; Zhang San[-1 -9]';

4, [^ ]은 괄호 안에 나열되지 않은 단일 문자 를 의미합니다.

문:

SELECT * FROM user WHERE name LIKE ';[^Zhang Liwang]三';

은 "Zhao San", "Zhao San", "Zhang", "Li", "Wang" Sun을 찾습니다. San" 등;

SELECT * FROM user WHERE name LIKE ';老[^1-4]';

은 "old 1"에서 "old 4"를 제외하여 "old 5", "old 6"을 찾습니다. ,... ..., "올드 9".

마지막이 핵심이에요!

와일드카드로 인해 특수 문자 "%", "_", "[" 및 "';"에 대한 쿼리 문은 정상적으로 구현될 수 없습니다. 그러나 특수 문자를 "[ ]"로 묶으면 정상적으로 쿼리할 수 있습니다. 이를 바탕으로 다음 함수를 작성했습니다.

function sqlencode(str)
str=replace(str,"';","';';")
str=replace(str,"[","[[]") ';此句一定要在最先
str=replace(str,"_","[_]")
str=replace(str,"%","[%]")
sqlencode=str
end function

추천 튜토리얼: "MySQL Tutorial"

위 내용은 mysql 퍼지 쿼리 문이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.