MySQL LIKE Keyword
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;
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%';
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';
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%';
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
WHERE BINARY username LIKE 'Admin%';
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. UtilisezBINARY
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 clauseWHERE
. - Analyse des performances. Utilisez
EXPLAIN
pour analyser l'impact des requêtesLIKE
sur les performances et adaptez vos requêtes en conséquence.