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

Wie kann ich Zeilen aus JSON-Arrays in MySQL effizient extrahieren?

Linda Hamilton
Freigeben: 2024-12-08 17:18:12
Original
563 Leute haben es durchsucht

How Can I Efficiently Extract Rows from JSON Arrays in MySQL?

Zeilen aus JSON-Arrays in MySQL extrahieren

MySQL 5.7 führt leistungsstarke JSON-Funktionen ein, die eine nahtlose Bearbeitung von JSON-Daten ermöglichen. Das Extrahieren von JSON-Array-Elementen in Zeilen hat sich jedoch als Herausforderung erwiesen.

Das Problem

Die Umwandlung von JSON-Arrays in eine zeilenbasierte Struktur bleibt in MySQL ein Hindernis. Die Optionen beschränken sich auf das manuelle Extrahieren einzelner Elemente mithilfe von JSON_EXTRACT() oder das Zusammenführen mehrerer Abfragen. Dieser Ansatz ist umständlich und fehleranfällig.

Die Lösung: MySQL 8 und JSON_TABLE

MySQL 8 führt JSON_TABLE ein, eine umfassende Lösung für die Arbeit mit JSON-Daten. Es ermöglicht die direkte Konvertierung von JSON-Arrays in Tabellenzeilen.

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

Verwendung von JSON_TABLE als universeller Splitter

Zusätzlich zur Zeilenextraktion kann JSON_TABLE als vielseitiger Splitter dienen String-Splitter, eine Funktion, die in MySQL fehlt. Durch die Konvertierung einer durch Trennzeichen getrennten Zeichenfolge in JSON wird es möglich, ihre Komponenten einfach zu trennen.

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

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

Fazit

JSON_TABLE bietet MySQL-Benutzern einen optimierten Ansatz zur Konvertierung von JSON Arrays in Zeilen, wodurch komplexe Vereinigungen oder manuelle Extraktion überflüssig werden. Es dient auch als praktisches Tool zum Aufteilen von Zeichenfolgen und schließt eine bemerkenswerte Lücke in der Funktionalität von MySQL.

Das obige ist der detaillierte Inhalt vonWie kann ich Zeilen aus JSON-Arrays in MySQL effizient extrahieren?. 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