Maison  >  Article  >  base de données  >  Comment extraire les données JSON des colonnes MySQL à l'aide de requêtes ?

Comment extraire les données JSON des colonnes MySQL à l'aide de requêtes ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-27 13:09:01514parcourir

How do I Extract JSON Data from MySQL Columns Using Queries?

Extraire des données JSON dans MySQL avec des requêtes

JSON est un format de données populaire utilisé pour stocker des données structurées, et il est de plus en plus courant de stocker des objets JSON dans des colonnes de base de données. MySQL propose plusieurs méthodes pour extraire les données des colonnes JSON, ce qui facilite l'interrogation et le filtrage des données en fonction de champs spécifiques.

Utilisation de json_extract() (MySQL 5.7 et versions ultérieures)

Pour MySQL versions 5.7 et supérieures, la fonction json_extract() offre un moyen pratique d'extraire des valeurs spécifiques des objets JSON. Voici un exemple :

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

Cette requête récupère les lignes où le champ "title" dans la colonne JSON correspond au modèle "%CPU%". Il renverrait uniquement la première ligne de l'exemple de table fourni.

Utilisation de json_unquote() et json_contains() (MySQL 8.0 et versions ultérieures)

Dans MySQL 8.0 et versions ultérieures , la fonction json_unquote() peut être utilisée pour supprimer les guillemets doubles des valeurs JSON, et la fonction json_contains() peut être utilisée pour vérifier si une valeur spécifique existe dans un objet JSON. Voici une requête alternative :

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

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