Maison >base de données >tutoriel mysql >Comment puis-je interroger des données JSON dans MySQL en fonction de valeurs de champ spécifiques ?

Comment puis-je interroger des données JSON dans MySQL en fonction de valeurs de champ spécifiques ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-26 10:34:02457parcourir

How can I Query JSON Data in MySQL Based on Specific Field Values?

Interrogation de données JSON dans MySQL

Problème :

Vous avez une table MySQL avec un colonne qui stocke les objets JSON. Vous devez exécuter des requêtes qui filtrent les résultats en fonction de valeurs de champ JSON spécifiques.

Solution : Utilisation de la fonction json_extract

MySQL 5.7 et versions ultérieures ont introduit la fonction json_extract, qui vous permet pour extraire des valeurs spécifiques des objets JSON stockés dans une colonne. Cela vous permet d'effectuer des requêtes comme celles-ci :

<code class="sql">SELECT user_id, json_data
FROM articles
WHERE json_extract(json_data, '$.title') LIKE '%CPU%';</code>

Exemple :

Considérez le tableau suivant :

<code class="sql">CREATE TABLE articles (
  id int NOT NULL,
  user_id int NOT NULL,
  json_data json NOT NULL
);
INSERT INTO articles (id, user_id, json_data) VALUES
  (1, 1, '{"url":"https://www.cpubenchmark.net/","title": "CPU Benchmarks"}'),
  (2, 1, '{"url":"http://www.ebay.com/sch/CPUs-Processors-/164/i.html","title": "Computer and Processors"}'),
  (3, 2, '{"url":"https://www.youtube.com/watch?v=tntOCGkgt98","title": "Funny Cats Compilation"}');</code>

Exécuter la requête ci-dessus renverra le résultat suivant :

<code class="sql">+---------+--------------------------------------------------------------------------------------------------+
| user_id | json_data                                                                                        |
+---------+--------------------------------------------------------------------------------------------------+
|       1 | {"url":"https://www.cpubenchmark.net/","title": "CPU Benchmarks"}                                |
+---------+--------------------------------------------------------------------------------------------------+</code>

Cela montre comment la fonction json_extract peut être utilisée pour filtrer les données JSON dans MySQL.

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