Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie finde ich einen bestimmten Wert in einem JSON-Array in MySQL?

Susan Sarandon
Freigeben: 2024-10-30 08:24:03
Original
181 Leute haben es durchsucht

How to Find a Specific Value within a JSON Array in MySQL?

MySQL: Suche nach einem bestimmten Schlüsselwert innerhalb eines Arrays

In MySQL können Sie auf Szenarien stoßen, aus denen Sie einen bestimmten Wert abrufen möchten ein Array von JSON-Objekten. Mit der Funktion JSON_SEARCH können Sie den Pfad zum gewünschten Knoten abrufen. Allerdings kann es eine Herausforderung sein, dies mit der Auswahl eines bestimmten Array-Elements zu kombinieren.

Lösung: JSON_TABLE-Funktion

MySQL 8.0 bietet die JSON_TABLE-Funktion, die ein JSON transformiert Dokument in eine virtuelle abgeleitete Tabelle, ähnlich wie herkömmliche Zeilen und Spalten. Dadurch können Sie Auswahl- und Projektionsvorgänge für die JSON-Daten durchführen.

Betrachten Sie das folgende Beispiel-JSON-Array:

<code class="json">[
    {"Race": "Orc", "strength": 14},
    {"Race": "Knight", "strength": 7}
]</code>
Nach dem Login kopieren

Um die Stärke des Ritters zu ermitteln, können Sie die folgende Abfrage verwenden :

<code class="sql">SELECT j.strength, j.race
FROM mytable, JSON_TABLE(mycol, '$[*]'
  COLUMNS (
    race VARCHAR(10) PATH '$.Race',
    strength INT PATH '$.strength'
  )
) AS j
WHERE j.race = 'Knight';</code>
Nach dem Login kopieren

Einschränkungen und Überlegungen

  • Die JSON_TABLE-Funktion erfordert eine explizite Angabe von Attributen, was möglicherweise nicht praktikabel ist, wenn die Attribute unbekannt sind.
  • Das Definieren einer Ansicht mithilfe von JSON_TABLE kann den repetitiven Charakter der Erstellung dieser abgeleiteten Tabelle verringern.
  • Erwägen Sie die Normalisierung für komplexe JSON-Daten, um Abfragen zu vereinfachen und zu optimieren.

Das obige ist der detaillierte Inhalt vonWie finde ich einen bestimmten Wert in einem JSON-Array in MySQL?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!