Maison > Article > base de données > Quelle est la syntaxe des requêtes floues dans MySQL ?
MySQL LIKE Fuzzy Query
Nous savons que nous utilisons la commande SQL SELECT dans MySQL pour lire des données, et nous pouvons l'utiliser dans le Instruction SELECT Clause WHERE pour obtenir les enregistrements spécifiés.
Vous pouvez utiliser le signe égal = dans la clause WHERE pour définir les conditions d'obtention des données, telles que "runoob_author = 'RUNOOB.COM'".
Mais parfois, nous avons besoin d'obtenir tous les enregistrements dont le champ runoob_author contient des caractères "COM", nous devons alors utiliser la clause SQL LIKE dans la clause WHERE.
Le caractère signe pourcentage % est utilisé dans la clause SQL LIKE pour représenter n'importe quel caractère, similaire à l'astérisque * sous UNIX ou dans les expressions régulières.
Si le signe pourcentage % n'est pas utilisé, la clause LIKE a le même effet que le signe égal =.
Syntaxe
Ce qui suit est la syntaxe générale de l'instruction SQL SELECT pour lire les données de la table de données à l'aide de la clause LIKE :
SELECT field1, field2,...fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
Vous peut clause WHERE pour spécifier des conditions.
Vous pouvez utiliser la clause LIKE dans la clause WHERE.
Vous pouvez utiliser la clause LIKE au lieu du signe égal =.
LIKE est généralement utilisé avec %, similaire à une recherche par métacaractères.
Vous pouvez spécifier une ou plusieurs conditions en utilisant AND ou OR.
Vous pouvez utiliser la clause WHERE...LIKE dans une commande DELETE ou UPDATE pour spécifier des conditions.
Quatre utilisations de la requête floue dans MySQL :
Un.% : représente 0 ou plusieurs caractères. Peut correspondre à des caractères de n'importe quel type et longueur. Dans certains cas, s'il s'agit de chinois, veuillez utiliser des signes de deux pour cent (%%) pour l'exprimer.
*Remarque : comme '%龙%' : interrogez tous les enregistrements contenant "dragon"
1 champ de requête + comme '%龙%'
<.>par exemple : sélectionnez * de l'utilisateur où le nom réel est comme '%龙%'Recherchez le champ du nom réel contenant le mot "龙"
2. Le champ interrogé+ comme '%龙%' et le champ interrogé+ comme '%文%'
par exemple : sélectionnez * de l'utilisateur où le nom réel est comme '%龙%' et le nom réel est comme '%文%'= champ interrogé+ comme '%文%' et champ interrogé+ comme '%龙%'par exemple : sélectionnez * de l'utilisateur où le nom réel ressemble à '%文%' et le nom réel ressemble à '%龙%'3. Interrogez tous les enregistrements contenant à la fois "龙" et "文"
nom réel comme '%龙%文%' : Interroger tous les enregistrements "龙文", qui peuvent être "龙_文", "_龙文", "龙文_" "Dragon" doit être devant, le mot "Wen" est derrière
Sélectionnez * de l'utilisateur où realName comme '%dragon%text%'
realname like'%文%龙%' :
Interrogez tous les enregistrements "文龙", cela peut être "文_龙" "_文龙" "文龙_" Le mot "texte" doit être devant, le mot "dragon" est derrière
sélectionnez * de l'utilisateur où le nom réel aime '%text%dragon%'
>二._ : Représente n'importe quel caractère unique. Correspond à un seul caractère arbitraire, qui est souvent utilisé pour limiter la longueur des caractères des expressions :
1. Interrogez le champ du nom réel contenant le mot "Lin" au milieu (prémisse). : trois noms字)
sélectionnez * de l'utilisateur où le nom réel est comme '_林_'
=sélectionnez * de l'utilisateur où le nom réel est comme '%_林_%'
On peut seulement constater que le vrai nom comme "Yu Linwen" a trois caractères et le caractère du milieu est : "林"
2. Recherchez le nom du nom de famille Lin (trois caractères du nom)
sélectionnez * de l'utilisateur où le vrai nom est comme 'Lin__' (il y en a deux barres horizontales ici)
=sélectionnez * de l'utilisateur où le nom réel est comme '%林__%'(Il y a deux barres horizontales ici)
Requêtez le vrai nom du nom de famille "Lin", et le nombre de caractères dans le vrai nom doit être de 3
3. le dernier caractère du nom Pour le nom de "Lin" (trois caractères du nom)
sélectionnez * de l'utilisateur où le vrai nom comme '__Lin'(là il y a deux barres horizontales ici)
= sélectionnez * de l'utilisateur où le nom réel comme '%__Lin%'(il y a deux barres horizontales ici)
Interroger le nom de famille Le nom est "Lin", et le nombre de caractères dans le nom réel doit être de 3
4 Interrogez le nom de famille Lin. (Le nom n'a que deux caractères)
sélectionnez * de l'utilisateur où le vrai nom comme 'Lin_'
Interrogez la personne portant le nom de famille Lin Name (le nom peut être composé de deux ou trois caractères )
sélectionnez * de l'utilisateur où le nom réel est comme '%林_%'
5. Recherchez les noms dont le dernier caractère est "Lin" (le nom n'a que deux caractères )
sélectionnez * de l'utilisateur où le nom réel comme '_林'
Requêtez le nom dont le dernier caractère est "Lin" (le nom peut avoir deux caractères, il peut aussi y avoir trois caractères)
sélectionnez * de l'utilisateur où le nom réel comme '%_林%'
Trois.[ ] : représente l'un des caractères répertoriés entre parenthèses (semblable à une expression régulière). Spécifiez un caractère, une chaîne ou une plage et exigez que l'objet correspondant soit l'un d'entre eux.
sélectionnez * de l'utilisateur dont le vrai nom est comme '[Zhang Cai Wang] Jie'
Requête "Zhang Jie", "Cai Jie", "Wang Jie" (au lieu de "Zhang Cai Wangjie")
Si [ ] contient une série de caractères (01234, abcde, etc.), il peut être abrégé en "0-4", "a-e"
sélectionnez * depuis l'utilisateur où le nom réel comme 'Lin [1-9]' interrogera "Lin 1" "Lin 2"..."Lin 9"
四.[^] : signifie pas entre parenthèses A un seul caractère dans une colonne. Sa valeur est la même que celle de [], mais elle nécessite que l'objet correspondant soit un caractère autre que le caractère spécifié. " Zhao Jie" etc.
sélectionnez * de l'utilisateur où le vrai nom comme 'Lin[^1-4]'
exclura "Lin 1" à "Lin 4" et recherchez "Lin 5", "Lin 6",...
Tutoriel recommandé :
Tutoriel vidéo mysqlCe 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!