Maison  >  Article  >  base de données  >  Qu’est-ce qu’une instruction de requête floue MySQL ?

Qu’est-ce qu’une instruction de requête floue MySQL ?

烟雨青岚
烟雨青岚original
2020-06-16 10:09:265622parcourir

Qu’est-ce qu’une instruction de requête floue MySQL ?

Qu'est-ce qu'une instruction de requête floue MySQL ?

L'instruction de requête floue est la suivante : "SELECT field FROM table WHERE certain field Like condition".

mysql propose quatre modes de correspondance :

1 % représente 0 caractère ou plus.

La déclaration suivante :

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

changera le nom en "Zhang San", "Sanjiao " "Chat", "Tang Sanzang", etc. Découvrez tous les caractères avec "trois" ;

2. _ représente n'importe quel caractère unique. Déclaration :

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

Recherchez uniquement "Tang Sanzang" pour que le nom comporte trois caractères et que le caractère du milieu soit " Trois";

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

Trouver uniquement "chat à trois pattes" pour que le nom comporte trois caractères et que le premier caractère soit " "Trois" ;

3. [ ] représente l'un des caractères répertoriés entre parenthèses (similaire aux expressions régulières).

Déclaration :

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

trouvera "Zhang San", "李王" "Trois", "Wang San" (au lieu de "Zhang Li Wang San");

Si [ ] contient une série de caractères (01234, abcde, etc.), il peut être abrégé en "0 -4", "a-e"

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

trouvera "old 1", "old 2",.. ., "老9";

Si vous recherchez le caractère "-", veuillez le mettre en premier : ';Zhang San[-1-9]';

4, [^ ] signifie un seul caractère non répertorié entre parenthèses.

Déclaration :

SELECT * FROM utilisateur WHERE nom LIKE ';[^ 张李王]三'; "Zhao San", "Sun San" de "Li", " Wang", etc.;

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

exclura "Old 1" à "Old 4" pour trouver " Ancien 5", "Ancien 6", ..., "Ancien 9".

La dernière chose est la clé !

En raison des caractères génériques, nos instructions de requête pour les caractères spéciaux "%", "_", "[", "';" ne peuvent pas être implémentées normalement, et les caractères spéciaux peuvent être placés entre "[ ]" être interrogé normalement. Sur cette base, nous avons écrit la fonction suivante :

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

Tutoriel recommandé : "

Tutoriel MySQL

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn