Maison >base de données >tutoriel mysql >Comment puis-je rechercher et filtrer efficacement les données JSON dans les requêtes MySQL ?

Comment puis-je rechercher et filtrer efficacement les données JSON dans les requêtes MySQL ?

DDD
DDDoriginal
2024-12-10 17:51:10451parcourir

How Can I Efficiently Search and Filter JSON Data within MySQL Queries?

Recherche de données JSON dans les requêtes MySQL

Les requêtes dans MySQL impliquant des données JSON deviennent de plus en plus importantes. JSON, ou JavaScript Object Notation, est un format texte couramment utilisé pour l'échange de données. Pour récupérer efficacement des données spécifiques du JSON stocké dans MySQL, certaines modifications de requête sont nécessaires.

L'une de ces modifications implique l'extraction de données basées sur des paires clé-valeur. La requête fournie

SELECT  `id` ,  `attribs_json` 
FROM  `products` 
WHERE  `attribs_json` REGEXP  '"1":{"value":[^"3"$]'

vise à extraire des clés égales à "1" et des valeurs non égales à "3".

Si vous utilisez MySQL version 5.7 ou ultérieure, vous pouvez utiliser une approche plus simple en utilisant la fonction JSON_EXTRACT(), comme suit :

SELECT JSON_EXTRACT(name, "$.id") AS name
FROM table
WHERE JSON_EXTRACT(name, "$.id") > 3

Cette requête extrait la valeur "id" de l'objet JSON dans la colonne "name" et filtre les résultats où "id" est supérieur à 3.

Pour des détails complets sur les fonctions de recherche JSON dans MySQL, reportez-vous au site officiel MySQL manuel de référence : https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html.

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