Heim  >  Artikel  >  Datenbank  >  Wie kann man JSON-Daten effizient in MySQL-Tabellen speichern und abrufen?

Wie kann man JSON-Daten effizient in MySQL-Tabellen speichern und abrufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-27 05:32:02383Durchsuche

How to Efficiently Store and Retrieve JSON Data in MySQL Tables?

Erstellen und Einfügen von JSON-Objekten in MySQL-Tabellen

Bei der Arbeit mit JSON-Daten in MySQL können Sie auf Herausforderungen stoßen, wenn Sie mit dem Prozess nicht vertraut sind. Hier ist eine Schritt-für-Schritt-Anleitung, die Sie unterstützen soll.

Erstellen einer Tabelle mit JSON-Datentyp

Um JSON-Daten effektiv zu speichern, müssen Sie Ihren definieren Tabellenspalten mit dem JSON-Datentyp. Zum Beispiel:

<code class="sql">CREATE TABLE `person` (
  `name` JSON DEFAULT NULL
);</code>

JSON-Daten einfügen

Es gibt mehrere Möglichkeiten, JSON-Daten in Ihre MySQL-Tabelle einzufügen:

1 . Einfügen von JSON-Arrays

Um ein Array von Werten einzufügen, schließen Sie diese in eckige Klammern ein und verwenden Sie die Funktion JSON_CONTAINS in Ihrer Abfrage:

<code class="sql">INSERT INTO `person` (`name`)
VALUES ('["name1", "name2", "name3"]');</code>

2. Einfügen von JSON-Objekten (Schlüssel: Wertpaare)

Um einzelne JSON-Objekte einzufügen, verwenden Sie geschweifte Klammern, um Ihre Schlüssel-Wert-Paare einzuschließen:

<code class="sql">INSERT INTO person VALUES ('{"pid": 101, "name": "name1"}');
INSERT INTO person VALUES ('{"pid": 102, "name": "name2"}');</code>

Auswählen von JSON-Daten

Sobald Sie Ihre JSON-Daten eingefügt haben, können Sie bestimmte Datensätze mit der Funktion JSON_CONTAINS abrufen:

<code class="sql">SELECT * FROM `person` WHERE JSON_CONTAINS(name, '["name1"]');</code>

Hinweis: Für diese Funktionen ist eine MySQL-Version erforderlich 5.7 oder höher und InnoDB-Speicher-Engine.

Das obige ist der detaillierte Inhalt vonWie kann man JSON-Daten effizient in MySQL-Tabellen speichern und abrufen?. 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