Anweisungen zur Verwendung von JSON-Operationsfunktionen in Mysql5.7

Anweisungen zur Verwendung von JSON-Operationsfunktionen in Mysql5.7

Vorwort

JSON ist ein leichtes Datenaustauschformat, das ein sprachunabhängiges Textformat verwendet, das XML ähnelt, aber einfacher als XML sowie leichter zu lesen und zu schreiben ist. Es lässt sich für Maschinen einfacher analysieren und generieren und reduziert die Netzwerkbandbreite bei der Übertragung.

Das Format von JSON ist sehr einfach: Name/Schlüssel-Wert. In früheren MySQL-Versionen wurde zur Implementierung eines solchen Speichers entweder VARCHAR oder TEXT großer Text verwendet. Nach der Veröffentlichung von MySQL 5.7 wurden der JSON-Datentyp sowie das Abrufen und andere Funktionsparsing dieses Typs speziell entwickelt.

Lassen Sie es uns in die Praxis umsetzen.

Erstellen einer Tabelle mit einem JSON-Feld

Beispielsweise enthält eine Tabelle „Artikel“ folgende Felder:

ID, Titel, Tags

Ein Artikel kann mehrere Tags haben und Tags können auf den JSON-Typ gesetzt werden

Die Anweisung zur Tabellenerstellung lautet wie folgt:

CREATE TABLE Artikel` (
 id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
Titel` varchar (200) NICHT NULL,
 Tags` json DEFAULT NULL ,
PRIMÄRSCHLÜSSEL (`id`)
)ENGINE=InnoDB;

Einfügen von Daten

Um Daten mit JSON-Inhalt einzufügen, führen Sie die Insert-Anweisung aus:

INSERT INTO Artikel` (`Titel`, `Tags`)
WERTE (
„Mysql JSON erleben“,
'["Mysql", "Datenbank"]'
);

Was hier eingefügt wird, ist ein JOSN-Array ["Mysql", "Database"]

Fragen Sie den gesamten Inhalt der Artikeltabelle ab und Sie können die neu eingefügten Daten sehen.

Abfrage

Verwenden von JSON-Funktionen zum Ausführen zweier einfacher Abfragen

1. Alle Artikel mit dem Tag "MySQL" finden

SELECT * FROM Artikel`
WO JSON_CONTAINS(Tags, '["Mysql"]');

2. Artikel mit Tags finden, die mit „Daten“ beginnen

SELECT * FROM Artikel`
WO JSON_SEARCH(Tags, „eins“, „Data%“) NICHT NULL IST;

Die Bedeutung der drei Parameter in der JSON_SEARCH-Funktion:

1. Zu findende Dokumente

2. Für den Suchbereich gibt es zwei Optionen: „eins“, um den ersten zu finden, der die Bedingungen erfüllt, und „alle“, um alle zu finden, die die Bedingungen erfüllen.

3. Suchbedingungen

JSON-Pfad

Der JSON-Pfad wird verwendet, um das Zielfeld im Dokument zu lokalisieren, zum Beispiel:

WÄHLEN SIE JSON_EXTRACT(
'{"id": 1, "name": "mysql"}',
'$.name'
);

Das Ergebnis ist:mysql

JSON_EXTRACT() ist eine JSON-Extraktionsfunktion. $.name ist ein JSON-Pfad, d. h. das Namensfeld des gefundenen Dokuments.

Der JSON-Pfad beginnt mit $. Sehen wir uns einige weitere Beispiele an.

{
"Zahl" : 123,
"arr" : [1, 2],
"Objekt" : {
"ein" : 3,
"b" : 4
}
}
$.num //Ergebnis: 123
$.arr //Ergebnis: [1, 2]
$.arr[1] //Ergebnis: 1
$.obj.a //Ergebnis: 3
$**.b //Ergebnis: 4

Abfragebeispiel mit JSON-Pfad

WÄHLEN
tags-> "$[0]" als 'Tag'
VON Artikel`;

Daten aktualisieren

Möchte man beispielsweise einem Artikel ein „dev“-Tag hinzufügen, so ist als Update-Voraussetzung, dass dieser bereits das „MySQL“-Tag enthält und noch keine Daten mit dem „dev“-Tag vorhanden sind.

Die Update-Anweisung lautet wie folgt:

Artikel aktualisieren`
SET-Tags = JSON_MERGE(Tags, '["dev"]')
WO
JSON_SEARCH(Tags, 'eins', 'dev') IST NULL
UND
JSON_SEARCH(Tags, „eins“, „Mysql“) ist nicht NULL;

Sie können sehen, dass das Tag „dev“ erfolgreich hinzugefügt wurde

Wenn Sie beispielsweise das Tag „Mysql“ auf „Mysql 5.7.13“ aktualisieren möchten, lautet die Update-Anweisung wie folgt:

UPDATE article` set tags = JSON_SET(tags, '$[0] ', 'Mysql 5.7.13' ) ;

Wir haben oben JSON_MERGE und JSON_SET kennengelernt. Es gibt viele andere Funktionen zum Ändern von JSON, wie zum Beispiel:

JSON_INSERT(doc, path, val[, path, val]…)

Einfügen von Daten

JSON_REPLACE(doc, path, val[, path, val]…)

Ersetzen von Daten

JSON_ARRAY_APPEND(doc, path, val[, path, val]…)

Daten an das Ende eines Arrays anhängen

JSON_REMOVE(doc, path[, path]…)

Daten vom angegebenen Speicherort entfernen

Aufgrund meiner anfänglichen Erfahrungen mit der Bedienung habe ich den Eindruck, dass die JSON-Bedienung von MySQL relativ reibungslos verläuft. Es ist wirklich praktisch, die Dokumentstruktur in MySQL in Zukunft zu verwenden.

Das könnte Sie auch interessieren:
  • Grundlegender JSON-Betriebsleitfaden in MySQL 5.7
  • Details zur Verwendung des JSON-Typs in MySQL 5.7
  • Eine kurze Erläuterung zum Abrufen des JSON-Formats in MySQL 5.7
  • So fragen Sie JSON in der Datenbank in MySQL 5.6 und darunter ab
  • Detaillierte Erläuterung der JSON-Serienoperationsfunktionen in MySQL
  • MySQL-Operationen: Operationen mit JSON-Datentyp
  • MySQL-Einfügungsproblem bei JSON
  • Detailliertes Beispiel für die JSON-Analyse mit MySQL (5.6 und darunter)
  • Beispielanalyse der Verwendung des neuen JSON-Feldtyps in MySQL 5.7

<<:  Beispiel für eine automatische Importmethode für allgemeine Vue3.0-Komponenten

>>:  Lösung für den Fehler bei der Installation von Docker auf der CentOS-Version

Artikel empfehlen

PostgreSQL-Materialisierte Ansichtsprozessanalyse

Dieser Artikel stellt hauptsächlich die Prozessan...

Wie lang ist eine Funktion in js?

Inhaltsverzeichnis Vorwort Warum Wie viel kostet ...

Details zur MySQL-Sortierfunktion

Inhaltsverzeichnis 1. Problemszenario 2. Ursachen...

Beispielcode zum automatischen Umbrechen des Pre-Tags

Das Pre-Element definiert vorformatierten Text. In...

JS implementiert die Benutzerregistrierungsschnittstellenfunktion

In diesem Artikelbeispiel wird der spezifische JS...

Verwendung des MySQL-Zeitstempels

Vorwort: Zeitstempelfelder werden häufig in MySQL...

Realisierung baumförmiger Sekundärtabellen auf Basis von Angular

Erster Blick auf die Wirkung: Code: 1.html <di...

Lösung für die verstümmelte Anzeige von Linux SecureCRT

Sehen wir uns die Situation an, in der SecureCRT ...

So löschen Sie den MySQL-Dienst vollständig (bereinigen Sie die Registrierung)

Vorwort Beim Installieren der ausführbaren Datei ...

Three.js realisiert den dynamischen 3D-Logoeffekt von Facebook Metaverse

Inhaltsverzeichnis Hintergrund Was ist das Metave...