Table des matières
1. Cas fouille (le plus commun)
2. Cas simple
3. Utilisation de cas dans différentes clauses
Dans Select (le plus commun)
Dans l'ordre par (tri conditionnel)
En mise à jour (mises à jour conditionnelles)
4. Conseils et meilleures pratiques
Notes finales
Maison base de données tutoriel mysql Comment utiliser les instructions de cas dans MySQL pour la logique conditionnelle?

Comment utiliser les instructions de cas dans MySQL pour la logique conditionnelle?

Aug 02, 2025 am 04:44 AM

Les instructions de cas dans MySQL fournissent une logique conditionnelle dans les requêtes SQL, avec deux formulaires: cas fouillé pour plusieurs conditions et un cas simple pour faire correspondre une seule expression contre les valeurs; 2. Le cas fouillé est utilisé pour classer les données en fonction des conditions, telles que l'attribution des niveaux de clientèle par des niveaux de dépenses; 3. Le cas simple est idéal pour mappage des valeurs, comme la conversion des codes d'état numérique en étiquettes descriptives; 4. Le cas peut être utilisé dans Sélectionner pour dériver des valeurs, afin de tri conditionnel et de mise à jour pour les mises à jour conditionnelles; 5. Les meilleures pratiques incluent toujours l'utilisation d'une clause ELSE, en évitant la nidification excessive et la mise en forme pour la lisibilité, en garantissant un résultat par ligne avec une évaluation s'arrêtant à la première vraie condition; Les expressions de cas sont essentielles pour implémenter la logique if-then-else dans les requêtes MySQL.

Comment utiliser les instructions de cas dans MySQL pour la logique conditionnelle?

L'utilisation d'instructions CASE dans MySQL vous permet d'implémenter la logique conditionnelle directement dans vos requêtes SQL, similaires aux constructions IF-Else dans les langages de programmation. Il est particulièrement utile dans SELECT , UPDATE ou ORDER BY clauses pour renvoyer différentes valeurs en fonction des conditions.

Comment utiliser les instructions de cas dans MySQL pour la logique conditionnelle?

Il existe deux formes de CASE dans MySQL: cas simple et affaire fouillée .


1. Cas fouille (le plus commun)

Ce formulaire vous permet d'évaluer plusieurs conditions, similaires à une série d'instructions If-then-Else.

Comment utiliser les instructions de cas dans MySQL pour la logique conditionnelle?

Syntaxe:

 CAS
    Quand condition1 puis résultat1
    Quand condition2 puis résultat2
    ...
    Else default_result
FIN

Exemple: catégoriser les tailles des clients par montant de commande

Comment utiliser les instructions de cas dans MySQL pour la logique conditionnelle?
 SÉLECTIONNER 
    client_id,
    total_pent,
    CAS
        Lorsque Total_Spent> 1000 puis 'High'
        Lorsque Total_Spent entre 500 et 1000, alors «médium»
        Lorsque Total_Spent> 0 puis 'Low'
        Autrement «inactif»
    Terminez en tant que client_tier
Des clients;

Cela ajoute une colonne customer_tier basée sur des niveaux de dépenses.


2. Cas simple

Cela compare une seule expression à plusieurs valeurs possibles.

Syntaxe:

 Expression de cas
    Quand la valeur1 puis le résultat1
    Quand la valeur 2 puis 2
    Else default_result
FIN

Exemple: convertir le statut numérique en texte

 SÉLECTIONNER 
    order_id,
    statut,
    Statut de cas
        Quand 1 «en attente»
        Quand 2 puis «expédié»
        Quand 3 puis «livré»
        Autrement «inconnu»
    Terminez en tant que statut_label
Des ordres;

Ceci est plus propre lors de la comparaison d'un champ à des valeurs fixes.


3. Utilisation de cas dans différentes clauses

Dans Select (le plus commun)

Vous pouvez calculer des valeurs ou des étiquettes dérivées.

 SÉLECTIONNER 
    Product_name,
    prix,
    CAS
        Lorsque le prix> 100 puis «Premium»
        Lorsque le prix> 50 puis «standard»
        Sinon «budget»
    Terminez comme prix_category
Des produits;

Dans l'ordre par (tri conditionnel)

Trier les résultats basés sur des conditions dynamiques.

 Sélectionner le nom, le rôle
Des utilisateurs
Commander 
    Rôle de cas
        Quand «admin» puis 1
        Quand «éditeur» puis 2
        D'autre 3
    FIN;

Cela garantit que les administrateurs apparaissent d'abord, puis des éditeurs, puis d'autres.

En mise à jour (mises à jour conditionnelles)

Mettez à jour les valeurs basées sur les conditions.

 Mettre à jour les employés
Définir le salaire = case
    Quand Performance_Rating = 'A' puis salaire * 1.1
    Quand Performance_Rating = 'B' puis salaire * 1.05
    Salaire autrement
FIN;

4. Conseils et meilleures pratiques

  • Incluez toujours une clause ELSE pour gérer les valeurs inattendues - sinon, NULL est retourné.
  • Vous pouvez nicher des déclarations CASE , mais les garder lisibles.
  • Utilisez une indentation appropriée pour rendre la logique complexe plus facile à suivre.
  • N'oubliez pas que CASE ne renvoie qu'une seule valeur par ligne - l'exécution s'arrête au premier match WHEN .

Notes finales

CASE n'est pas une déclaration de flux de contrôle comme dans les procédures stockées (où vous utilisez CASE avec BEGIN...END ). Dans les requêtes régulières, c'est une expression utilisée pour la sélection de la valeur conditionnelle.

Pour les programmes stockés, MySQL a une syntaxe CASE différente utilisée dans les procédures, mais dans les requêtes quotidiennes, le formulaire ci-dessus est ce que vous utiliserez.

Fondamentalement, si vous avez besoin d'une logique "if-then-else" dans votre SELECT , UPDATE ou ORDER BY , CASE est votre outil de référence dans MySQL.

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!

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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel PHP
1543
276
Comment auditer l'activité de la base de données dans MySQL? Comment auditer l'activité de la base de données dans MySQL? Aug 05, 2025 pm 01:34 PM

USEMYSQLENERPRISEAUDITPLUGINIFENONTER PRIXEDITIONBYABLINGITINCHIGFIGURATIONSWITHSERVER-AUDIT = FORCE_PLUS_PERMANENTANDCUMIDEVENTSVIASERVER_AUDIT_EVENTS; 2.Forfreealternatives, useperconaserverormariaDiaDbwithheiropen-SourceAuditpluginslikeaAut_Log; 3.

Optimisation MySQL pour le stockage de données financières Optimisation MySQL pour le stockage de données financières Jul 27, 2025 am 02:06 AM

MySQL doit être optimisé pour les systèmes financiers: 1. Les données financières doivent être utilisées pour garantir la précision à l'aide de type décimal, et DateTime est utilisé dans les champs de temps pour éviter les problèmes de fuseau horaire; 2. La conception de l'indice doit être raisonnable, évitez les mises à jour fréquentes des champs pour créer des index, combiner les index dans l'ordre de requête et nettoyer régulièrement les index inutiles; 3. Utiliser les transactions pour garantir la cohérence, contrôler la granularité des transactions, éviter les transactions longues et les opérations non essentielles intégrées, et sélectionner les niveaux d'isolement appropriés en fonction des entreprises; 4. Partitionner les données historiques au temps, archiver les données froides et utiliser des tables compressées pour améliorer l'efficacité de la requête et optimiser le stockage.

Sécuriser MySQL avec des privilèges au niveau de l'objet Sécuriser MySQL avec des privilèges au niveau de l'objet Jul 29, 2025 am 01:34 AM

ToseCuremysQleffectively, useobject-levelprivilestolimitreaccessbasedheirSpecificneeds.binbyranding comptabilisation de l'objectif-levelprivilegesapplytodatabases, des tables, des orcolumns

Optimisation MySQL pour les flux de données en temps réel Optimisation MySQL pour les flux de données en temps réel Jul 26, 2025 am 05:41 AM

TOOPTIMIZEMYSQLFORREAL-TIMEDATAFEEDS, FirstChooseTheinNodBstorageEngineForTransactions et Levellocking, UseMemoryorRocksdbForTemporaryData, et la Séries-seriesdatabytime.Second, INDEXSTRATÉRALEMENT

Analyse des coûts de la base de données MySQL pour la migration du cloud Analyse des coûts de la base de données MySQL pour la migration du cloud Jul 26, 2025 am 03:32 AM

La question de savoir si MySQL vaut la peine de passer au cloud dépend du scénario d'utilisation spécifique. Si votre entreprise doit être lancée rapidement, élargissez élastiquement et simplifiez les opérations et la maintenance, et peut accepter un modèle de paiement en tant que go, alors passer au cloud en vaut la peine; Mais si votre base de données est stable pendant une longue période, des restrictions sensibles à la latence ou à la conformité, elle peut ne pas être rentable. Les clés des coûts de contrôle comprennent la sélection du bon fournisseur et du bon package, la configuration des ressources raisonnablement, en utilisant des instances réservées, en gérant les journaux de sauvegarde et en optimisant les performances de requête.

Meilleures pratiques pour gérer les grandes tables MySQL Meilleures pratiques pour gérer les grandes tables MySQL Aug 05, 2025 am 03:55 AM

Lorsque vous traitez avec de grandes tables, les performances MySQL et la maintenabilité sont confrontées à des défis, et il est nécessaire de commencer à partir de la conception structurelle, de l'optimisation des index, de la stratégie de sous-table de tableau, etc. 1. Concevoir raisonnablement les clés et les index primaires: il est recommandé d'utiliser des entiers auto-incrémentés comme clés principales pour réduire les scintillement de pages; Utiliser les index de superposition pour améliorer l'efficacité de la requête; Analyser régulièrement les journaux de requête lents et supprimer les index non valides. 2. Utilisation rationnelle des tables de partition: partition en fonction de la plage de temps et d'autres stratégies pour améliorer l'efficacité de la requête et de la maintenance, mais l'attention devrait être accordée aux problèmes de partitionnement et de coupe. 3. Envisagez de lire et d'écrire la séparation et la séparation des bibliothèques: la séparation de lecture et d'écriture atténue la pression sur la bibliothèque principale. La séparation de la bibliothèque et la séparation des tableaux conviennent aux scénarios avec une grande quantité de données. Il est recommandé d'utiliser des middleware et d'évaluer les problèmes de requête des transactions et des magasins croisés. La planification précoce et l'optimisation continue sont la clé.

Comment utiliser les contraintes de vérification pour appliquer les règles de données dans MySQL? Comment utiliser les contraintes de vérification pour appliquer les règles de données dans MySQL? Aug 06, 2025 pm 04:49 PM

MySQL prend en charge les contraintes de contrôle pour forcer l'intégrité du domaine, efficace à partir de la version 8.0.16; 1. Ajoutez des contraintes lors de la création d'un tableau: utilisez crééTable pour définir les conditions de contrôle, telles que l'âge ≥ 18, salaire> 0, valeurs limites du département; 2. Modifiez le tableau pour ajouter des contraintes: utilisez alterTableAddConstraint pour limiter les valeurs de champ, telles que le nom non vide; 3. Utiliser des conditions complexes: Prise en charge la logique et les expressions multi-colonnes, telles que la date de fin ≥ Date et l'état d'achèvement doivent avoir une date de fin; 4. Supprimer les contraintes: utilisez alterTabledRopConstraint pour spécifier le nom à supprimer; 5. Remarques: MySQL8.0.16, Innodb ou Myisam doit être cité

Comment implémenter un système de balise dans une base de données MySQL? Comment implémenter un système de balise dans une base de données MySQL? Aug 05, 2025 am 05:41 AM

Useamany-to-gyrelateeshipswithajunctiontabletolinkitemsandtagsviathreetables: éléments, tags, anditem_tags.2.whenaddingtags, checkforexistingtagsinthetagstable, insertifnecessary, thencreatemappingsinitem_tagsusingtransactionsforcencence..

See all articles