Heim > Datenbank > MySQL-Tutorial > Wie kann ich JSON-Arrays in MySQL effizient in Zeilen konvertieren?

Wie kann ich JSON-Arrays in MySQL effizient in Zeilen konvertieren?

Patricia Arquette
Freigeben: 2024-11-30 14:33:15
Original
255 Leute haben es durchsucht

How Can I Efficiently Convert JSON Arrays into Rows in MySQL?

Konvertieren von JSON-Arrays in Zeilen in MySQL

In MySQL 5.7 wurde die JSON-Manipulation erheblich verbessert und bietet vielfältige Funktionen zum Extrahieren und Verarbeiten von Daten innerhalb von JSON-Strukturen. Der umgekehrte Vorgang der Konvertierung eines JSON-Arrays in Zeilen war jedoch nicht einfach.

JSON-Array in Zeilen

Zum Einfügen einer Zeile für jedes Element in einem JSON-Array Bisher war ein manueller Ansatz mit mehreren JSON_EXTRACT()-Abfragen erforderlich. Aber mit der Einführung der JSON_TABLE-Funktion in MySQL 8 wurde dieser Prozess rationalisiert:

SELECT *
FROM JSON_TABLE([5, 6, 7], '$[*]'
COLUMNS(
  Value INT PATH '$'
));
Nach dem Login kopieren

JSON-Array in durch Kommas getrennte Zeichenfolge

Um a Um ein JSON-Array mithilfe von GROUP_CONCAT() in eine durch Kommas getrennte Zeichenfolge umzuwandeln, kann es ein Trick sein eingesetzt:

set @delimited = 'a,b,c';

SELECT *
FROM JSON_TABLE(
  CONCAT('["', REPLACE(@delimited, ',', '", "'), '"]'),
  '$[*]'
  COLUMNS(
    Value varchar(50) PATH '$'
  )
);
Nach dem Login kopieren

Dieser Ansatz behandelt die durch Trennzeichen getrennte Zeichenfolge als JSON-Zeichenfolge, was zu einer konvertierten durch Kommas getrennten Zeichenfolge führt.

Fehlende STRING_SPLIT-Funktion

Während MySQL keine dedizierte STRING_SPLIT()-Funktion hat, kann die JSON_TABLE-Funktion als Ersatz für Split dienen Operationen, die eine durch Trennzeichen getrennte Zeichenfolge effektiv in ihre Komponenten zerlegen.

Das obige ist der detaillierte Inhalt vonWie kann ich JSON-Arrays in MySQL effizient in Zeilen konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage