Das Feld im JSON-Format ist ein neues Attribut, das in MySQL 5.7 hinzugefügt wurde, aber im Wesentlichen als Zeichenfolge in der Datenbank gespeichert wird. Als ich zum ersten Mal damit in Berührung kam, kannte ich nur die $.xx-Methode zum Abfragen von Feldern, da dies in den meisten Fällen ausreicht und der Rest dem Programm überlassen werden kann. Einige neuere Vorgänge erfordern jedoch komplexere Abfragevorgänge, sodass ich schnell weitere Methoden erlernte. JSON_EXTRACT(json_doc [,Pfad]) Abfragefelder mysql> setze @j = '{"name":"wxnacy"}'; mysql> wähle JSON_EXTRACT(@j, '$.name'); +----------------------------+ | JSON_EXTRACT(@j, '$.name') | +----------------------------+ | "wxnacy" | +----------------------------+ Es gibt auch einen prägnanteren Weg, der jedoch nur bei Abfragen der Tabelle verwendet werden kann mysql> wähle ext -> '$.name' aus Test; +-----------------+ | Erw. -> "$.name" | +-----------------+ | "wxnacy" | +-----------------+ Nach $. können Sie das JSON-Format verwenden, um Daten wie Arrays abzurufen. mysql> setze @j = '{"a": [1, 2]}'; mysql> wähle JSON_EXTRACT(@j, '$.a[0]'); +----------------------------+ | JSON_EXTRACT(@j, '$.a[0]') | +----------------------------+ | 1 | +----------------------------+ JSON_DEPTH(json_doc) Berechnen Sie die Tiefe von JSON. Die Berechnungsmethode ist {} []. Wenn ein Symbol vorhanden ist, handelt es sich um eine Ebene. Wenn sich unter dem Symbol Daten befinden, wird eine zusätzliche Ebene hinzugefügt. Komplexes JSON wird bis zur tiefsten Ebene berechnet. Das offizielle Dokument besagt, dass der Nullwert eine Tiefe von 0 hat, aber der tatsächliche Effekt ist nicht der Fall. Hier sind einige Beispiele JSON_LENGTH(json_doc [, Pfad]) Berechnet die Länge des äußersten JSON oder des angegebenen Pfads. Die Skalarlänge beträgt 1. Die Länge eines Arrays ist die Anzahl der Array-Elemente und die Länge eines Objekts ist die Anzahl der Objektmitglieder. mysql> WÄHLEN SIE JSON_LENGTH('[1, 2, {"a": 3}]'); +---------------------------------+ | JSON_LENGTH('[1, 2, {"a": 3}]') | +---------------------------------+ | 3 | +---------------------------------+ mysql> JSON_LENGTH AUSWÄHLEN('{"a": 1, "b": {"c": 30}}'); +-----------------------------------------+ | JSON_LENGTH('{"a": 1, "b": {"c": 30}}') | +-----------------------------------------+ | 2 | +-----------------------------------------+ mysql> AUSWÄHLEN JSON_LENGTH('{"a": 1, "b": {"c": 30}}', '$.b'); +------------------------------------------------+ | JSON_LENGTH('{"a": 1, "b": {"c": 30}}', '$.b') | +------------------------------------------------+ | 1 | +------------------------------------------------+ JSON_TYPE(json_doc) Gibt eine utf8mb4-Zeichenfolge zurück, die den Typ des JSON-Werts angibt. Dies kann ein Objekt, ein Array oder ein Skalartyp sein, wie unten gezeigt: mysql> SET @j = '{"a": [10, true]}'; mysql> JSON_TYPE AUSWÄHLEN(@j); +-----------------+ | JSON_TYPE(@j) | +-----------------+ | OBJEKT | +-----------------+ mysql> WÄHLEN SIE JSON_TYPE(JSON_EXTRACT(@j, '$.a')); +------------------------------------+ | JSON_TYPE(JSON_EXTRACT(@j, '$.a')) | +------------------------------------+ | ANORDNUNG | +------------------------------------+ mysql> WÄHLEN SIE JSON_TYPE(JSON_EXTRACT(@j, '$.a[0]')); +------------------------------------------+ | JSON_TYPE(JSON_EXTRACT(@j, '$.a[0]')) | +------------------------------------------+ | GANZZAHL | +------------------------------------------+ mysql> WÄHLEN SIE JSON_TYPE(JSON_EXTRACT(@j, '$.a[1]')); +------------------------------------------+ | JSON_TYPE(JSON_EXTRACT(@j, '$.a[1]')) | +------------------------------------------+ | BOOLEANISCH | +------------------------------------------+ Mögliche Rückgabearten Reiner JSON-Typ:
Nummerntyp:
Zeittyp:
Zeichenfolgentyp: STRING: MySQL UTF8-Zeichentyp-Skalare: CHAR, VARCHAR, TEXT, ENUM und SET Binärtyp: BLOB: MySQL-Binärtyp-Skalare, einschließlich BINARY, VARBINARY, BLOB und BIT Alle anderen Typen: OPAQUE (Rohteil) JSON_VALID Gibt 0 oder 1 zurück, um anzugeben, ob der Wert gültiges JSON ist. Wenn das Argument NULL ist, wird NULL zurückgegeben. mysql> AUSWÄHLEN JSON_VALID('{"a": 1}'); +------------------------+ | JSON_VALID('{"a": 1}') | +------------------------+ | 1 | +------------------------+ mysql> SELECT JSON_VALID('hallo'), JSON_VALID('"hallo"'); +---------------------+-------------------------+ | JSON_VALID('hallo') | JSON_VALID('"hallo"') | +---------------------+-------------------------+ | 0 | 1 | +---------------------+-------------------------+ Oben finden Sie den detaillierten Inhalt der Zusammenfassung der zugehörigen Funktionen für JSON-Ergebnisse von MySQL-Abfragen. Weitere Informationen zu MySQL-JSON-Funktionen finden Sie in den anderen zugehörigen Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
>>: Lösen Sie das Problem mehrerer Listener, die beim Starten von Tomcat in Idea gemeldet werden
Vorwort Um sicherzustellen, dass Ihre Webseiten in...
Das Computersystem ist: win7 Dieser Artikel basie...
Einführung: Wenn wir MySQL zum Erstellen einer Ta...
Heute habe ich einen neuen CSS-Spezialeffekt gele...
Inhaltsverzeichnis Vorwort 👀 Beginnen Sie mit der...
1. Problem Mehrere schwebende Elemente können die...
Umfeld Hostname IP-Adresse Aufschlag Prometheus 1...
Wenn Sie wissen möchten, wie Sie diese Tabelle mi...
Jeder hat schon Flipper und Ziegelsteinzertrümmer...
In letzter Zeit wurde der Server häufig mit Brute...
In diesem Artikel wird der spezifische Code von j...
Inhaltsverzeichnis Einführung und Demo API: Conta...
1. MySQL 1.1 MySQL-Installation mysql-5.5.27-winx...
1. Installieren Sie MySQL: udo apt-get installier...
Als ich kürzlich Django lernte, musste ich eine D...