MySQL : Rechercher une valeur de clé spécifique dans un tableau
Dans MySQL, vous pouvez rencontrer des scénarios dans lesquels vous souhaitez récupérer une valeur spécifique à partir de un tableau d'objets JSON. À l'aide de la fonction JSON_SEARCH, vous pouvez récupérer le chemin d'accès au nœud souhaité. Cependant, combiner cela avec la sélection d'un élément de tableau spécifique peut être un défi.
Solution : Fonction JSON_TABLE
MySQL 8.0 fournit la fonction JSON_TABLE, qui transforme un JSON document dans une table dérivée virtuelle, semblable aux lignes et colonnes conventionnelles. Cela vous permet d'effectuer des opérations de sélection et de projection sur les données JSON.
Considérez l'exemple de tableau JSON suivant :
<code class="json">[ {"Race": "Orc", "strength": 14}, {"Race": "Knight", "strength": 7} ]</code>
Pour trouver la force du chevalier, vous pouvez utiliser la requête suivante :
<code class="sql">SELECT j.strength, j.race FROM mytable, JSON_TABLE(mycol, '$[*]' COLUMNS ( race VARCHAR(10) PATH '$.Race', strength INT PATH '$.strength' ) ) AS j WHERE j.race = 'Knight';</code>
Limitations et considérations
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!