Maison > base de données > tutoriel mysql > le corps du texte

Comment interroger des tableaux JSON dans MySQL : JSON_TABLE() peut-il être utilisé pour récupérer des valeurs spécifiques d'un tableau JSON ?

Susan Sarandon
Libérer: 2024-10-30 00:16:03
original
180 Les gens l'ont consulté

How to Query JSON Arrays in MySQL: Can JSON_TABLE() be used to retrieve specific values from a JSON array?

Interrogation de tableaux JSON dans MySQL : solution avec JSON_TABLE()

Vous pouvez récupérer des valeurs spécifiques d'un tableau JSON à l'aide de fonctions SQL comme JSON_SEARCH, mais cela ne fournit que le chemin vers le nœud souhaité. Pour combiner la recherche de chemin avec la récupération de valeur réelle, vous pouvez utiliser la fonction JSON_TABLE().

JSON_TABLE() convertit un document JSON en table virtuelle, vous permettant d'appliquer des opérations SQL telles que WHERE et SELECT sur ses éléments. . En spécifiant les colonnes et leurs chemins dans le tableau, vous pouvez facilement filtrer et projeter les attributs souhaités. Prenons l'exemple suivant :

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

Cette requête renverrait la valeur de force de la race des chevaliers. Cependant, cela nécessite que vous définissiez explicitement les noms d'attributs et leurs chemins, ce qui peut ne pas être réalisable lorsque la structure des données est dynamique ou indéfinie.

Il convient de noter que l'utilisation de JSON_TABLE() implique de convertir le document JSON en un table virtuelle pour chaque requête, ce qui peut avoir un impact sur les performances si les données sont volumineuses. De plus, cette approche vous oblige à spécifier les champs d'attributs que vous souhaitez rechercher, ce qui limite son utilisation pour des structures de données totalement indéfinies.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!