Heim >Datenbank >MySQL-Tutorial >Wie konvertiere ich ein JSON-Array in Zeilen in MySQL?

Wie konvertiere ich ein JSON-Array in Zeilen in MySQL?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-26 02:54:09430Durchsuche

How to Convert a JSON Array into Rows in MySQL?

JSON-Array in MySQL in Zeilen konvertieren

Das Konvertieren eines JSON-Arrays in einzelne Zeilen in einer MySQL-Tabelle kann eine Herausforderung sein. Dieser Vorgang kann jedoch mit verschiedenen Techniken erreicht werden, darunter den folgenden:

Methode 1: JSON_EXTRACT und Union

Diese Methode beinhaltet das Extrahieren einzelner Array-Elemente mithilfe der JSON_EXTRACT-Funktion und sie mit dem UNION-Operator kombinieren. Hier ist ein Beispiel:

SET @j = '[1, 2, 3]';

SELECT JSON_EXTRACT(@j, '$[0]') AS value
UNION
SELECT JSON_EXTRACT(@j, '$[1]') AS value
UNION
SELECT JSON_EXTRACT(@j, '$[2]') AS value;

Methode 2: JSON_TABLE (MySQL 8)

MySQL 8 führt die JSON_TABLE-Funktion ein, mit der Sie eine virtuelle Tabelle basierend darauf erstellen können ein JSON-Dokument. Dies bietet eine einfache Möglichkeit, JSON-Arrays in Zeilen zu konvertieren. Hier ist ein Beispiel:

SET @j = '[5, 6, 7]';

SELECT *
FROM JSON_TABLE(
  @j,
  "$[*]"
  COLUMNS(
    Value INT PATH "$"
  )
) data;

Methode 3: String-Splitting und JSON_TABLE

Diese Technik nutzt die Tatsache, dass MySQL keine integrierte String-Splitting-Funktion besitzt. Durch Konvertieren der durch Trennzeichen getrennten Zeichenfolge in eine JSON-Zeichenfolge können Sie dann JSON_TABLE verwenden, um die Split-Funktionalität zu erreichen.

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

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

Diese Methoden bieten vielseitige Lösungen für die Konvertierung von JSON-Arrays in einzelne Zeilen in MySQL. Während MySQL 5.7 möglicherweise komplexere Ansätze erfordert, führt MySQL 8 effizientere Optionen wie JSON_TABLE ein und eröffnet neue Möglichkeiten für die Datenmanipulation.

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

Stellungnahme:
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