Heim  >  Artikel  >  Datenbank  >  So fragen Sie JSON-Arrays in MySQL ab: Kann JSON_TABLE() verwendet werden, um bestimmte Werte aus einem JSON-Array abzurufen?

So fragen Sie JSON-Arrays in MySQL ab: Kann JSON_TABLE() verwendet werden, um bestimmte Werte aus einem JSON-Array abzurufen?

Susan Sarandon
Susan SarandonOriginal
2024-10-30 00:16:03181Durchsuche

How to Query JSON Arrays in MySQL: Can JSON_TABLE() be used to retrieve specific values from a JSON array?

JSON-Arrays in MySQL abfragen: Lösung mit JSON_TABLE()

Sie können bestimmte Werte aus einem JSON-Array mithilfe von SQL-Funktionen wie JSON_SEARCH abrufen. Dies liefert jedoch nur den Pfad zum gewünschten Knoten. Um die Pfadsuche mit dem Abrufen tatsächlicher Werte zu kombinieren, können Sie die Funktion JSON_TABLE() verwenden.

JSON_TABLE() konvertiert ein JSON-Dokument in eine virtuelle Tabelle, sodass Sie SQL-Operationen wie WHERE und SELECT auf seine Elemente anwenden können . Durch die Angabe der Spalten und ihrer Pfade innerhalb des Arrays können Sie die gewünschten Attribute einfach filtern und projizieren. Betrachten Sie das folgende Beispiel:

SELECT j.strength
FROM mytable,
JSON_TABLE(mycol, '$[*]'
    COLUMNS (
        race VARCHAR(10) PATH '$.Race',
        strength INT PATH '$.strength'
    )
) AS j
WHERE j.race = 'Knight'

Diese Abfrage würde den Stärkewert der Ritterrasse zurückgeben. Allerdings müssen Sie die Attributnamen und ihre Pfade explizit definieren, was möglicherweise nicht möglich ist, wenn die Datenstruktur dynamisch oder undefiniert ist.

Es ist erwähnenswert, dass die Verwendung von JSON_TABLE() die Konvertierung des JSON-Dokuments in ein Erstellen Sie für jede Abfrage eine virtuelle Tabelle, was sich bei großen Datenmengen auf die Leistung auswirken kann. Darüber hinaus müssen Sie bei diesem Ansatz die Attributfelder angeben, nach denen Sie suchen möchten, was die Verwendung für völlig undefinierte Datenstrukturen einschränkt.

Das obige ist der detaillierte Inhalt vonSo fragen Sie JSON-Arrays in MySQL ab: Kann JSON_TABLE() verwendet werden, um bestimmte Werte aus einem JSON-Array abzurufen?. 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