Maison  >  Article  >  base de données  >  Comment interroger des données JSON dans MySQL à l'aide de la clause WHERE ?

Comment interroger des données JSON dans MySQL à l'aide de la clause WHERE ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-28 09:20:29506parcourir

How to Query JSON Data in MySQL using the WHERE Clause?

Comment interroger des données JSON dans MySQL

Dans les bases de données MySQL, les objets JSON peuvent être stockés dans les colonnes d'une table. Cependant, l'exécution de requêtes utilisant ces champs JSON peut s'avérer difficile sans les techniques appropriées. Ce guide fournit des méthodes pour interroger facilement les données JSON à l'aide de la clause WHERE, permettant aux développeurs de filtrer et de récupérer des enregistrements spécifiques en fonction des propriétés de l'objet JSON.

Utilisation de la fonction JSON_EXTRACT

Pour MySQL versions 5.7 et supérieures, la fonction JSON_EXTRACT est un outil efficace pour extraire des valeurs spécifiques d'objets JSON dans une clause WHERE. Cette fonction prend deux paramètres :

  • json_document : L'objet JSON à partir duquel la valeur est extraite.
  • path : Un JSON expression de chemin qui spécifie l'emplacement de la valeur cible dans l'objet.

Considérez l'exemple de tableau fourni dans la demande d'origine avec la colonne "json_data" contenant des objets JSON. Pour interroger la table pour les lignes où la propriété « titre » contient la chaîne « CPU », la requête suivante peut être utilisée :

SELECT user_id, json_data
FROM articles
WHERE JSON_EXTRACT(json_data, '$.title') LIKE '%CPU%';

Cette requête exploite la fonction JSON_EXTRACT pour récupérer la valeur du « titre » propriété de chaque objet JSON dans la colonne "json_data". Il filtre ensuite les résultats pour inclure uniquement les lignes où la valeur du titre extraite contient la sous-chaîne spécifiée.

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