Maison >base de données >tutoriel mysql >Comment puis-je convertir efficacement des tableaux JSON en lignes dans MySQL ?
Conversion de tableaux JSON en lignes dans MySQL
Dans MySQL 5.7, la manipulation JSON a été considérablement améliorée, offrant diverses fonctionnalités pour l'extraction et le traitement des données au sein des structures JSON. Cependant, l'opération inverse de conversion d'un tableau JSON en lignes n'a pas été simple.
Tableau JSON en lignes
Pour insérer une ligne pour chaque élément dans un tableau JSON , une approche manuelle utilisant plusieurs requêtes JSON_EXTRACT() était auparavant nécessaire. Mais avec l'introduction de la fonction JSON_TABLE dans MySQL 8, ce processus est devenu plus simple :
SELECT * FROM JSON_TABLE([5, 6, 7], '$[*]' COLUMNS( Value INT PATH '$' ));
Tableau JSON en chaîne séparée par des virgules
Pour convertir un Tableau JSON dans une chaîne séparée par des virgules à l'aide de GROUP_CONCAT(), une astuce peut être employé :
set @delimited = 'a,b,c'; SELECT * FROM JSON_TABLE( CONCAT('["', REPLACE(@delimited, ',', '", "'), '"]'), '$[*]' COLUMNS( Value varchar(50) PATH '$' ) );
Cette approche traite la chaîne délimitée comme une chaîne JSON, ce qui entraîne une chaîne convertie séparée par des virgules.
Fonction STRING_SPLIT manquante
Bien que MySQL ne dispose pas d'une fonction STRING_SPLIT() dédiée, la fonction JSON_TABLE peut servir de substitut au fractionnement opérations, décomposant efficacement une chaîne délimitée en ses composants.
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!