Maison >base de données >tutoriel mysql >Comment puis-je rechercher efficacement les données JSON stockées dans MySQL à l'aide de JSON_EXTRACT ?
Recherche de données JSON dans MySQL
Vous avez inséré des enregistrements avec des données codées en JSON dans une base de données MySQL et devez effectuer une recherche dans ces données. Cependant, la requête SQL fournie ne renvoie pas les résultats souhaités. Explorons une solution qui utilise les fonctions d'extraction JSON introduites dans MySQL version 5.7.
Extraction JSON dans MySQL 5.7
Dans MySQL versions 5.7 et supérieures, les fonctions d'extraction JSON fournissent un moyen puissant de naviguer et de récupérer des données à partir de valeurs JSON. L'une de ces fonctions, JSON_EXTRACT, vous permet de cibler des clés spécifiques et d'extraire leurs valeurs correspondantes.
Application de JSON_EXTRACT à votre requête
Pour rechercher une clé spécifique dans le champ attribs_json -value paires, vous pouvez utiliser JSON_EXTRACT comme suit :
SELECT id, JSON_EXTRACT(attribs_json, "$.feature.1.value") AS matching_value FROM products WHERE JSON_EXTRACT(attribs_json, "$.feature.1.value") REGEXP '\[[^"]*3[^"]*\]'
Explication :
Cette requête renverra toutes les lignes où la clé "1" dans l'objet "feature" a une valeur qui n'inclut pas "3". Pour les données fournies, il fera correspondre les lignes avec les valeurs "1" de ["2"] et ["2", "1"].
Conclusion
En tirant parti des fonctions d'extraction JSON de MySQL, vous pouvez rechercher et accéder efficacement aux données stockées dans les champs codés JSON. La fonction JSON_EXTRACT offre un moyen flexible et efficace d'extraire des valeurs spécifiques et d'effectuer des opérations de filtrage complexes sur les données JSON.
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!