Maison > base de données > tutoriel mysql > Comment interroger la valeur de force d'un « Knight » à partir d'un tableau JSON imbriqué dans MySQL ?

Comment interroger la valeur de force d'un « Knight » à partir d'un tableau JSON imbriqué dans MySQL ?

Mary-Kate Olsen
Libérer: 2024-10-29 05:20:02
original
344 Les gens l'ont consulté

How to Query Strength Value of a

Interrogation d'un tableau JSON imbriqué par clé

Dans MySQL, vous pouvez récupérer des valeurs spécifiques d'un tableau JSON imbriqué en utilisant une combinaison de JSON_TABLE () et une clause WHERE.

Considérez le tableau JSON suivant :

<code class="json">[
    {"Race": "Orc", "strength": 14},
    {"Race": "Knight", "strength": 7}
]</code>
Copier après la connexion

Pour récupérer la force du Chevalier, vous pouvez utiliser la requête suivante :

<code class="sql">SELECT j.strength
FROM mytable,
JSON_TABLE(mycol, '$[*]' COLUMNS (
    race VARCHAR(10) PATH '$.Race',
    strength INT PATH '$.strength'
)) AS j
WHERE j.race = 'Knight'</code>
Copier après la connexion

Cette requête utilise la fonction JSON_TABLE() pour créer une table virtuelle à partir du tableau JSON, avec des colonnes pour chaque attribut. La clause WHERE est ensuite utilisée pour filtrer les résultats en fonction de l'attribut « Race ».

Avantages et limitations

L'utilisation de JSON_TABLE() offre plusieurs avantages :

  • Permet la sélection et la projection d'attributs spécifiques du document JSON.
  • Peut être utilisé pour appliquer des conditions aux champs dans les données JSON.

Cependant, il présente également certaines limites :

  • Nécessite de spécifier les champs d'attribut dans la requête, ce qui peut ne pas être réalisable si la structure des données est inconnue.
  • Peut entraîner des requêtes complexes lors de traitements en profondeur Documents JSON imbriqués ou non structurés.

Approche alternative

Si la structure des données est inconnue ou change fréquemment, une approche alternative consiste à utiliser la fonction JSON_SEARCH() pour trouver le chemin vers la valeur souhaitée, puis utilisez l'opérateur de chemin pour extraire la valeur. Cependant, cette méthode ne permet pas la sélection ou la projection aussi facilement que JSON_TABLE().

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