Maison > base de données > tutoriel mysql > Comment puis-je rechercher efficacement plusieurs mots dans un seul enregistrement de base de données dans MySQL ?

Comment puis-je rechercher efficacement plusieurs mots dans un seul enregistrement de base de données dans MySQL ?

Susan Sarandon
Libérer: 2024-12-05 04:11:10
original
984 Les gens l'ont consulté

How Can I Efficiently Search for Multiple Words Within a Single Database Record in MySQL?

Faire correspondre plusieurs mots dans un enregistrement à l'aide de MySQL SELECT

Dans un scénario où un champ contient plusieurs mots, utiliser une requête LIKE pour rechercher ces mots individuellement peuvent donner des résultats incohérents. Cela peut être rencontré lors de la recherche de combinaisons ou de permutations spécifiques de mots dans un seul enregistrement.

Pour surmonter ce défi, MySQL fournit l'opérateur REGEXP, qui permet la création d'expressions régulières pour une correspondance plus précise. Prenons l'exemple fourni dans la requête :

SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus 2100%'
Copier après la connexion

Cette requête ne donne aucun résultat car les mots « Stylus » et « 2100 » ne sont pas adjacents dans l'enregistrement. Pour récupérer l'enregistrement souhaité, l'opérateur REGEXP peut être utilisé :

SELECT `name` FROM `table` WHERE `name` REGEXP 'Stylus.+2100'
Copier après la connexion

L'opérateur point (.) correspond à n'importe quel caractère, et l'opérateur plus ( ) garantit que "2100" suit "Stylus" dans le bon sens. order.

De plus, une combinaison de requêtes LIKE peut être utilisée pour obtenir le même résultat :

SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus%' AND `name` LIKE '%2100%'
Copier après la connexion

Cette approche exploite deux requêtes LIKE distinctes pour vérifier la présence de « Stylus » et de « 2100 » n'importe où dans l'enregistrement.

En utilisant soit REGEXP, soit une combinaison de requêtes LIKE, il est possible de rechercher efficacement plusieurs mots dans un seul enregistrement, garantissant un résultat de recherche plus précis et pertinent.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal