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

So überwachen Sie Oracle-Datenbanken mit Zabbix Agent2

Überblick In Zabbix Version 5.0 und höher wurde e...

Die am häufigsten verwendete HTML-Escape-Sequenz

In HTML haben <, >, & usw. eine speziell...

So verwenden Sie VUE, um die Ali Iconfont-Bibliothek online aufzurufen

Vorwort Vor vielen Jahren war ich ein Neuling auf...

Designtheorie: Menschenorientiertes Designkonzept

<br />Als sich das Denken in Ost und West sp...

Zusammenfassung der Kenntnisse und der Verwendung von Linux-VI-Befehlen

Detaillierte Erklärung des Linux-Befehls vi Der v...

JS erzielt Fünf-Sterne-Lobeffekt

Verwenden Sie JS, um objektorientierte Methoden z...

Was ist eine HTML-Datei? So öffnen Sie eine HTML-Datei

HTML steht für Hypertext Markup Language. Heutzut...

Detaillierte Erklärung des in JavaScript integrierten Date-Objekts

Inhaltsverzeichnis Date-Objekt Erstellen eines Da...

Lösen Sie das Problem verstümmelter Daten bei der MySQL-Datenbankmigration

Unter den Anweisungen meines Vorgesetzten übernah...

Umfassende Website-Bewertungslösung

<br />Manchmal werden Ihnen möglicherweise F...

Font Treasure House 50 exquisite kostenlose englische Schriftartenressourcen Teil 1

Designer verfügen über eine eigene Schriftartenbi...

Koexistenz von Python2 und Python3 unter einem CentOS7-System

Der erste Schritt besteht darin, die Versionsnumm...