Dieser Artikel veranschaulicht anhand eines Beispiels die Verwendung des in MySQL 5.7 hinzugefügten JSON-Feldtyps. Teilen Sie uns die Einzelheiten zu Ihrer Information mit: 1. Lassen Sie uns eine Tabelle erstellen und einige Daten vorbereiten Tabelle „json_test“ erstellen ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT KOMMENTAR 'ID', `json` json DEFAULT NULL KOMMENTAR 'json-Daten', PRIMÄRSCHLÜSSEL (`id`) )ENGINE=InnoDB STANDARD-CHARSET=utf8mb4; 2. Felder der JSON-Spalte abrufen Rufen Sie die Felder einer JSON-Spalte mithilfe des Operators -> oder ->> ab. Wähle ID, json->'$[0].items[0].name' aus json_test; Wähle die ID, json->>'$[0].items[0].name' aus json_test; Der Unterschied zwischen der Verwendung von -> und ->> besteht darin, dass das Ergebnis in Anführungszeichen gesetzt wird. 3. Einige Funktionen zur Verarbeitung von JSON JSON_PRETTY(json_val) zeigt den JSON-Wert in einem eleganten Format an Wähle ID, JSON_PRETTY(json) aus json_test\G; JSON_CONTAINS(Ziel, Kandidat[, Pfad]) Bestimmt, ob der angegebene Kandidat im Ziel enthalten ist. Wenn ein Pfad angegeben ist, wird im angegebenen Pfad gesucht. Beachten Sie: Wenn der Kandidat eine Zahl ist, muss er in einfache Anführungszeichen gesetzt werden. Handelt es sich um eine Zeichenfolge, muss er innerhalb der einfachen Anführungszeichen in doppelte Anführungszeichen gesetzt werden. Wählen Sie JSON_CONTAINS(json->'$[0].name', '"1号basket"') aus json_test; Wählen Sie JSON_CONTAINS(json, '"Name des Namens"', '$[0].name') aus json_test; JSON_CONTAINS_PATH(json_doc, one_or_all, path[, path] ...) bestimmt, ob der Pfad in json_doc existiert, oder, einfacher ausgedrückt, ob der Schlüssel in json existiert Wählen Sie JSON_CONTAINS_PATH(json, „one“, „$[0].name“, „$[0].test“) aus json_test; Der zweite Parameter 'eins' bedeutet, dass bei Vorhandensein eines Schlüssels 1 zurückgegeben wird, andernfalls 0 Wählen Sie JSON_CONTAINS_PATH(json, 'all', '$[0].name', '$[0].test') aus json_test; Der zweite Parameter 'all' bedeutet, dass 1 nur zurückgegeben wird, wenn alle Schlüssel vorhanden sind, andernfalls 0 JSON_SET(json_doc, path, val[, path, val] ...) fügt Daten ein oder aktualisiert sie und gibt das Ergebnis zurück Wählen Sie JSON_SET(json, '$[0].name', 'Korb Nr. 2', '$[0].test', 'test') aus json_test; Wir ändern den Wert von $[0].name und fügen ein Element mit dem Schlüssel test und dem Wert test hinzu JSON_INSERT(json_doc, path, val[, path, val] ...) Fügt Daten ein und gibt das Ergebnis zurück, ersetzt aber keine vorhandenen Werte. Wählen Sie JSON_INSERT(json, '$[0].name', 'Korb Nr. 2', '$[0].exts', 'Erweiterung') aus json_test; Zu diesem Zeitpunkt wird $[0].name nicht aktualisiert, es wird nur ein neues Feld $[0].exts hinzugefügt. JSON_REPLACE(json_doc, path, val[, path, val] ...) Ersetzt einen vorhandenen Wert und gibt das Ergebnis zurück Wählen Sie JSON_REPLACE(json, '$[0].name', 'Ersetzen') aus json_test; Ersetzen Sie den Wert in $[0].name durch den neuen Wert JSON_REMOVE(json_doc, path[, path] ...) Daten löschen und Ergebnis zurückgeben Wählen Sie JSON_REMOVE(json, '$[0].name') aus json_test; Löschen Sie die Daten $[0].name JSON_KEYS(json_doc[, path]) Alle Schlüssel im JSON-Dokument abrufen Wählen Sie JSON_KEYS(json, '$[0]') aus json_test; Alle Schlüssel unter dem Pfad $[0] abrufen JSON_LENGTH(json_doc[, path]) Ruft die Länge des JSON-Dokuments ab Wählen Sie JSON_LENGTH(json, '$[0]') aus json_test; Ermitteln Sie die Anzahl der Elemente unter $[0] JSON_EXTRACT(json_doc, path[, path] ...) Gibt die Daten im JSON-Dokument zurück Wählen Sie JSON_EXTRACT(json, '$[0]') aus json_test; Wählen Sie JSON_EXTRACT(json, '$[0].name') aus json_test; Gibt die Daten im angegebenen Pfad des JSON-Dokuments zurück JSON_ARRAY([val[, val] ...]) erstellt ein JSON-Array wähle JSON_ARRAY(1, '2', true, 5.6, null, jetzt()); JSON_OBJECT([key, val[, key, val] ...]) Erstellt ein JSON-Objekt aus einem Schlüssel-Wert-Paar wählen Sie JSON_OBJECT('Name', 'xiaoxu', 'Alter', 28, 'Größe', 1,72); Beachten Sie, dass Schlüssel und Wert paarweise auftreten müssen. JSON_MERGE_PATCH(json_doc, json_doc[, json_doc] ...) führt JSON-Dokumente zusammen. Wenn es doppelte Schlüssel gibt, überschreiben die letzteren Daten die früheren. wählen Sie JSON_MERGE_PATCH('{"name":"test1"}', '{"name":"test2"}'); JSON_MERGE_PRESERVE(json_doc, json_doc[, json_doc] ...) führt JSON-Dokumente zusammen. Bei doppelten Schlüsseln werden die Werte in einem Array gespeichert. Wählen Sie JSON_MERGE_PRESERVE('{"name":"test1"}', '{"name":"test2"}'); JSON_QUOTE(string) maskiert innere Anführungszeichen und andere Zeichen, indem sie in doppelte Anführungszeichen eingeschlossen werden Wählen Sie JSON_QUOTE('Hallo „Welt“'); JSON_UNQUOTE(json_val) Konvertiert Escape-Zeichen zurück in normale Zeichen wählen Sie JSON_UNQUOTE('Hallo\\t\"Welt\"'); Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „MySQL-Abfragekenntnisse“, „Zusammenfassung der allgemeinen MySQL-Funktionen“, „MySQL-Protokolloperationskenntnisse“, „Zusammenfassung der MySQL-Transaktionsoperationskenntnisse“, „MySQL-gespeicherte Prozedurkenntnisse“ und „Zusammenfassung der MySQL-Datenbanksperrenkenntnisse“. Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist. Das könnte Sie auch interessieren:
|
<<: Praktische TypeScript-Tipps, die Sie vielleicht nicht kennen
Inhaltsverzeichnis Übersicht zur Umgebungseinrich...
1 Schritte zur Systeminstallation Betriebssystemv...
Beispiel: <html> <Kopf> <style typ...
So zeigen Sie Versionsinformationen unter Linux a...
Inhaltsverzeichnis 1. Einführung in NFS 2. NFS-Ko...
Inhaltsverzeichnis Kein Schalter, keine komplexen...
Projektszenario: Auf der Seitenanzeige befindet s...
<br /> CSS-Syntax für Tabellenränder Zu den ...
Ich war in den letzten beiden Tagen etwas beschäf...
Moderne Browser erlauben nicht mehr, JavaScript i...
<br />Der Schriftsatz auf der Seite erfolgt ...
Heutige Webdesigns neigen dazu, sehr große Schrif...
Flex-Layout wird auch elastisches Layout genannt....
Docker bietet mehrere Netzwerke wie Bridge, Host,...
In vertikaler Richtung können Sie die Zellenausri...