Le mot-clé LIKE de MySQL est utilisé pour la recherche de motifs dans les requêtes SQL. Il vous permet de rechercher un motif spécifié dans une colonne, généralement utilisé avec les instructions SELECT pour filtrer les résultats.
Utilisation
Le mot-clé LIKE est utilisé dans les clauses WHERE pour trouver les enregistrements qui correspondent à un modèle spécifique. Il prend en charge deux caractères génériques : % correspond à n'importe quelle séquence de caractères et _ correspond à un seul caractère.
sql
SELECT column1, column2,...FROM table_name
WHERE column_name LIKE pattern;Propulsé par
Dans cette syntaxe, LIKE pattern est utilisé pour filtrer les lignes où column_name correspond au modèle spécifié.
Exemples
1. Correspondance de motifs de base
sql
SELECT*FROM products
WHERE product_name LIKE'a%';Propulsé par
Cette requête permet d'extraire du tableau products tous les tableaux dont le nom product_name commence par la lettre "a".
2. Caractère générique unique
sql
SELECT*FROM employees
WHERE last_name LIKE'Sm_th';Propulsé par
Cet exemple permet d'extraire des tableaux de la table employees dans lesquels last_name est composé de cinq caractères, commençant par "Sm" et se terminant par "th", avec n'importe quel caractère unique entre les deux.
3. Combinaison de caractères génériques
sql
SELECT*FROM customers
WHERE address LIKE'%Street%';Propulsé par
Ici, la requête sélectionne les tableaux de la table customers dont le nom address contient le mot "Street" n'importe où dans la chaîne de caractères.
4. Application de la sensibilité à la casse
sql
SELECT*FROM users
WHEREBINARY username LIKE'Admin%';Propulsé par
Cet exemple respecte la sensibilité à la casse et extrait les lignes dont le site username commence par "Admin", en tenant compte de la casse exacte.
Conseils et bonnes pratiques
Utilisez les caractères génériques avec parcimonie. Une utilisation excessive de % peut entraîner des balayages complets du tableau, ce qui peut nuire aux performances. L'indexation est souvent inefficace lorsque % se trouve au début d'un motif.
Sensibilité à la casse et collations.LIKE est insensible à la casse pour la plupart des collations, mais certaines sont sensibles à la casse. Utilisez BINARY pour appliquer la sensibilité à la casse si nécessaire. Il peut également être utilisé avec des jeux de caractères Unicode, affectant les caractères spéciaux.
Optimisez avec des index. Envisagez de créer des index sur les colonnes fréquemment utilisées avec LIKE pour améliorer les performances des requêtes, mais notez que les caractères génériques au début du motif peuvent annuler ces avantages.
A combiner avec d'autres conditions. Améliorez l'efficacité de la requête en combinant LIKE avec d'autres conditions dans la clause WHERE.
Analyse des performances. Utilisez EXPLAIN pour analyser l'impact des requêtes LIKE sur les performances et adaptez vos requêtes en conséquence.
Le mot-clé
LIKEde MySQL est utilisé pour la recherche de motifs dans les requêtes SQL. Il vous permet de rechercher un motif spécifié dans une colonne, généralement utilisé avec les instructionsSELECTpour filtrer les résultats.Utilisation
Le mot-clé
LIKEest utilisé dans les clausesWHEREpour trouver les enregistrements qui correspondent à un modèle spécifique. Il prend en charge deux caractères génériques :%correspond à n'importe quelle séquence de caractères et_correspond à un seul caractère.Dans cette syntaxe,
LIKE patternest utilisé pour filtrer les lignes oùcolumn_namecorrespond au modèle spécifié.Exemples
1. Correspondance de motifs de base
Cette requête permet d'extraire du tableau
productstous les tableaux dont le nomproduct_namecommence par la lettre "a".2. Caractère générique unique
Cet exemple permet d'extraire des tableaux de la table
employeesdans lesquelslast_nameest composé de cinq caractères, commençant par "Sm" et se terminant par "th", avec n'importe quel caractère unique entre les deux.3. Combinaison de caractères génériques
Ici, la requête sélectionne les tableaux de la table
customersdont le nomaddresscontient le mot "Street" n'importe où dans la chaîne de caractères.4. Application de la sensibilité à la casse
Cet exemple respecte la sensibilité à la casse et extrait les lignes dont le site
usernamecommence par "Admin", en tenant compte de la casse exacte.Conseils et bonnes pratiques
%peut entraîner des balayages complets du tableau, ce qui peut nuire aux performances. L'indexation est souvent inefficace lorsque%se trouve au début d'un motif.LIKEest insensible à la casse pour la plupart des collations, mais certaines sont sensibles à la casse. UtilisezBINARYpour appliquer la sensibilité à la casse si nécessaire. Il peut également être utilisé avec des jeux de caractères Unicode, affectant les caractères spéciaux.LIKEpour améliorer les performances des requêtes, mais notez que les caractères génériques au début du motif peuvent annuler ces avantages.LIKEavec d'autres conditions dans la clauseWHERE.EXPLAINpour analyser l'impact des requêtesLIKEsur les performances et adaptez vos requêtes en conséquence.