Maison >base de données >tutoriel mysql >Comment puis-je extraire efficacement des lignes de tableaux JSON dans MySQL ?
MySQL 5.7 introduit de puissantes fonctions JSON, permettant une manipulation transparente des données JSON. Cependant, extraire des éléments de tableau JSON en lignes s'est avéré difficile.
Le problème
La transformation de tableaux JSON en une structure basée sur des lignes reste un obstacle dans MySQL. Les options sont limitées à l'extraction manuelle d'éléments individuels à l'aide de JSON_EXTRACT() ou à l'union de plusieurs requêtes. Cette approche est lourde et sujette aux erreurs.
La solution : MySQL 8 et JSON_TABLE
MySQL 8 introduit JSON_TABLE, une solution complète pour travailler avec des données JSON. Il permet la conversion directe de tableaux JSON en lignes de tableau.
SELECT * FROM JSON_TABLE( '[5, 6, 7]', "$[*]" COLUMNS( Value INT PATH "$" ) ) data;
Utiliser JSON_TABLE comme séparateur universel
En plus de l'extraction de lignes, JSON_TABLE peut servir de séparateur polyvalent séparateur de chaînes, une fonctionnalité manquante dans MySQL. En convertissant une chaîne délimitée en JSON, il devient possible de séparer facilement ses composants.
set @delimited = 'a,b,c'; SELECT * FROM JSON_TABLE( CONCAT('["', REPLACE(@delimited, ',', '", "'), '"]'), "$[*]" COLUMNS( Value varchar(50) PATH "$" ) ) data;
Conclusion
JSON_TABLE offre aux utilisateurs de MySQL une approche simplifiée de la conversion de JSON. tableaux en lignes, éliminant ainsi le besoin d’unions complexes ou d’extraction manuelle. Il sert également d'outil pratique de fractionnement de chaînes, comblant une lacune notable dans les fonctionnalités de 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!