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 ?

Comment puis-je rechercher efficacement les données JSON stockées dans MySQL à l'aide de JSON_EXTRACT ?

DDD
DDDoriginal
2024-12-23 16:24:20446parcourir

How Can I Effectively Search JSON Data Stored in MySQL Using 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 :

  • L'expression $.feature.1.value cible la valeur de la clé "1" au sein de la "feature " objet.
  • Le prédicat REGEXP restreint les résultats à ceux où la valeur extraite ne contient pas la chaîne "3".

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!

Déclaration:
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