Comment utiliser l'opérateur similaire dans MySQL
L'opérateur similaire dans MySQL est utilisé pour rechercher des modèles dans les données de texte à l'aide de wildcards; 1. Utilisez% pour correspondre à n'importe quelle séquence de caractères et pour correspondre à un seul caractère; 2. Par exemple, «John%» trouve des noms en commençant par John, «% son» trouve des noms se terminant par son, «% ar%» trouve des noms contenant AR, '\ _ \ _ \ _ \ _ »trouve des noms à quatre lettres, et \ _a%» trouve des noms avec `` a' comme la deuxième lettre; 3. Comme est insensible au cas par défaut, mais la correspondance sensible à la casse peut être appliquée avec le binaire; 4. Utilisez pas comme pour exclure les lignes correspondantes, telles que le filtrage des adresses Gmail; 5. Combinez comme avec et, ou, et autres conditions pour un filtrage plus précis; 6. Évitez de diriger les jokers comme «% ohn» pour de meilleures performances car ils empêchent une utilisation efficace de l'indice, préfèrent les jokers traînés comme «John%»; 7. Pour rechercher des% littéraux ou des caractères, utilisez-les ou échappez-y avec une barre oblique inverse. Envisagez toujours d'utiliser des index FullText pour des recherches complexes et tester les requêtes sur des données réelles pour assurer des performances optimales.
L'opérateur LIKE
dans MySQL est utilisé dans une clause WHERE
pour rechercher un modèle spécifié dans une colonne. Il est particulièrement utile lorsque vous souhaitez filtrer les données de texte en fonction des correspondances partielles plutôt que des valeurs exactes.

Voici comment l'utiliser efficacement:
1. Syntaxe de base
Sélectionnez Column1, Column2, ... De Table_Name Où Column_name est le modèle;
Le pattern
peut inclure des caractères réguliers et des caractères génériques .

2. Personnages génériques
MySQL prend en charge deux jokers principaux avec LIKE
:
-
%
- correspond à n'importe quelle séquence de caractères zéro ou plus. -
_
(souligner) - correspond exactement à un personnage.
Exemples:
Trouvez des noms en commençant par "John":

Sélectionner * parmi les utilisateurs Où le nom comme «John%»;
→ Matches: "John", "Johnny", "John Doe", etc.
Trouver des noms se terminant par "fils":
Sélectionner * parmi les utilisateurs Où le nom comme «% fils»;
→ Matches: "Johnson", "Jackson", "Jason"
Trouver des noms contenant "AR" n'importe où:
Sélectionner * parmi les utilisateurs Où le nom comme «% ar%»;
→ Matches: "Carl", "Mary", "Edward"
Trouvez des noms avec exactement 4 lettres:
Sélectionner * parmi les utilisateurs Où le nom comme «____»;
→ Chaque soulignement représente un caractère.
Trouvez des noms où la deuxième lettre est "A":
Sélectionner * parmi les utilisateurs Où le nom comme «_a%»;
→ Matches: "Mary", "Sam", "Jane"
3. Sensibilité à la caisse
Par défaut, LIKE
cas est insensible à la plupart des configurations MySQL (en raison de la collation par défaut comme utf8mb4_general_ci
).
Exemple:
Sélectionnez * parmi les utilisateurs où le nom comme «John%»;
→ va correspondre "John", "John", "Johnson", etc.
Si vous avez besoin d'une correspondance sensible à la casse , utilisez BINARY
:
Sélectionner * parmi les utilisateurs Où le nom comme binaire «John%»;
→ ne correspond que des noms à commencer par la majuscule "J".
4. En utilisant pas comme
Pour exclure les lignes qui correspondent à un modèle, n'utilisez NOT LIKE
:
Sélectionner * parmi les utilisateurs Où les courriels n'aiment pas «%@gmail.com»;
→ Renvoie tous les utilisateurs dont l'e-mail n'est pas de Gmail.
5. Combinaison avec d'autres conditions
Vous pouvez combiner LIKE
avec AND
, OR
, et d'autres opérateurs:
Sélectionner * parmi les utilisateurs Où le nom comme «un%» Et âge> 25;
6. Conseils de performance
-
LIKE
avec un joker de premier plan (par exemple,'%son'
) ne peut pas utiliser les indices efficacement , il est donc plus lent sur les grandes tables. - Si possible, évitez de diriger les jokers. Par exemple,
LIKE 'John%'
peut utiliser un indice, maisLIKE '%ohn'
ne peut généralement pas. - Pour les recherches de texte complexes, envisagez d'utiliser des index FullText et
MATCH() AGAINST()
.
7. Échappement de caractères spéciaux
Si vous recherchez une chaîne qui comprend %
ou _
, utilisez ESCAPE
pour les traiter comme des littéraux.
Exemple: Trouvez un nom comme "100% prêt"
Sélectionner * parmi les utilisateurs Où le nom comme «100 \% prêt»;
Ou avec une évasion explicite:
Sélectionner * parmi les utilisateurs Où le nom comme «100!%« Escape »!»;
Maintenant !%
Signifie un %
littéral.
L'utilisation LIKE
est simple une fois que vous comprenez les caractères génériques et les implications de performance. C'est un outil puissant pour la recherche de texte flexible dans MySQL. Soyez juste conscient de la façon dont les modèles affectent la vitesse de la requête sur les grands ensembles de données.
Fondamentalement, respectez les jilèges de traîne lorsque cela est possible, et testez vos requêtes avec des données réelles pour vous assurer qu'ils fonctionnent bien.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



Vous pouvez personnaliser le séparateur en utilisant le mot-clé séparateur dans la fonction group_concat (); 1. Utilisez le séparateur pour spécifier un séparateur personnalisé, comme le séparateur '; «Le séparateur peut être changé pour un semi-colon et plus d'espace; 2. Les exemples courants incluent l'utilisation du caractère de tuyau '|', de l'espace '', du caractère de rupture de ligne '\ n' ou de la chaîne personnalisée '->' comme séparateur; 3. Notez que le séparateur doit être une chaîne littérale ou expression, et la longueur du résultat est limitée par la variable Group_Concat_Max_Len, qui peut être ajustée par setSessionGroup_Concat_Max_Len = 10000; 4. Le séparateur est facultatif

Ifnull () inmysqlreturnsthefirrspressionifitisNotnull, autre partage de temps en temps, ce qui fait la réplication de la dame, `` n / a ') affiche les affichages, Assureculcul_nameisnull, ifnull (Dowls'n / a'whendle_nameisnull, ifnull (Discount, 0) Assurecalcallise_

Pour sélectionner les données de la table MySQL, vous devez utiliser l'instruction SELECT, 1. Utilisez SELECTColumn1, Column2FromTable_Name pour obtenir la colonne spécifiée, ou utilisez SELECT * pour obtenir toutes les colonnes; 2. Utilisez la clause pour filtrer les lignes, telles que SELECTNAME, AgefromUsers WHERAGEAGE> 25; 3. Utilisez l'ordre pour trier les résultats, tels que OrderByageSc, représentant l'ordre descendant de l'âge; 4. Utilisez Limit pour limiter le nombre de lignes, telles que Limit5 pour renvoyer les 5 premières lignes, ou utilisez Limit10OffSet20 pour implémenter la pagination; 5. Utiliser et, ou et parenthèses pour combiner

ThelikeOperatorInmysqlisUsedTosearchForPatternSintextDatausingwildcards; 1.Usure% tomatchanysenceofcharactersandtomatchasing caractère; 2.Forexample, 'John%' se trouve

Pour vérifier la taille de la table MySQL, vous pouvez l'obtenir en interrogeant information_schema.tables; La méthode spécifique consiste à utiliser une instruction SELECT pour combiner les champs Data_Length et Index_Length et de les convertir en unités MB. Vous pouvez afficher les données et les tailles d'index pour une seule table, toutes les tables ou séparément. Cette méthode convient à la plupart des cas, mais les valeurs sont approximatives. Il peut y avoir des différences pour les tables InNODB. Le moyen le plus courant et la plus standard consiste à interroger la table des tables dans la base de données Information_schema pour obtenir les résultats.

TochecktheeventsChedulerstatus, useshowvariablesliny'event_scheduler ';. 2.pOTABLEARDISABLETEMPORY, USETGLOBALEVER_SCHEDULER = ONOROFF, qui est en train de demander undertheneLenerynetrestart.3

DeadlocksinmysqloccurwHentransactions blockochotherbyholding needlocks, maiscanbemanagedEffectivement à travers la convention, la manipulation et la monnaie.1.MinimizeDLOCKSBYACCESSINGROWSInaconsiste Ordre

ExplicationInmysqlisUsesedToanalyzeQueryExecutionplanswithoutrunningthequery, aidant à identifier les informations
