Beispielcode zum Konvertieren des Mysql-Abfrageergebnissatzes in JSON-Daten

Beispielcode zum Konvertieren des Mysql-Abfrageergebnissatzes in JSON-Daten

Mysql konvertiert Abfrageergebnissatz in JSON-Daten Vorwort Schülertabelle Schülerpunktzahltabelle Abfrage der Punktzahlen jedes Fachs eines einzelnen Schülers (in Objekt-JSON-Zeichenfolge konvertieren und mit Kommas verketten) Konvertieren der Punktzahlen jedes Fachs eines einzelnen Schülers in eine Array-JSON-Zeichenfolge Verwenden der Array-Zeichenfolge als Wert und Festlegen des Schlüssels Gemeinsame Abfrage zweier Tabellen (finales SQL, Punktzahl jedes Schülers in jedem Fach) Endergebnis

Vorwort

Wir haben häufig eine solche Anforderung: Ein Paar verknüpfter Tabellen, eine Eins-zu-viele-Beziehung. Wir verwenden eine SQL-Anweisung, um alle Datensätze der beiden Tabellen abzufragen, zum Beispiel: eine Schülertabelle, eine Tabelle mit den Schülernoten. Wir möchten eine SQL-Anweisung verwenden, um die Noten jedes Schülers in jedem Fach abzufragen.

Schülertisch

Tabelle erstellen, wenn „Student“ nicht vorhanden ist (
 `id` INT UNSIGNED AUTO_INCREMENT,
 `name` VARCHAR(100) NICHT NULL
 PRIMÄRSCHLÜSSEL ( `id` )
)ENGINE=InnoDB STANDARD-CHARSET=utf8;
INSERT INTO student(id, name) VALUES (1, „Name“);
INSERT INTO student(id, name) VALUES (2, 'Li Si');

Zeugnis der Studierenden

Tabelle erstellen, wenn nicht vorhanden `score`(
 `id` INT UNSIGNED AUTO_INCREMENT,
 `Name` VARCHAR(100) NICHT NULL
 `student_id` INT(100) NICHT NULL,
 `score` VARCHAR(100) NICHT NULL
 PRIMÄRSCHLÜSSEL ( `id` )
)ENGINE=InnoDB STANDARD-CHARSET=utf8;
INSERT INTO score(id, name, student_id, score) VALUES (1, 'Mathematik', 1, '95,5');
INSERT INTO score(id, name, student_id, score) VALUES (2, „Chinesisch“, 1, „99,5“);
INSERT INTO score(id, name, student_id, score) VALUES (3, 'Mathematik', 2, '95,5');
INSERT INTO score(id, name, student_id, score) VALUES (4, „Chinesisch“, 2, „88“);

Abfrage der Noten für jedes Fach eines einzelnen Schülers (in JSON-Objektzeichenfolge konvertieren und mit Kommas verketten)

Wählen Sie Group_Concat (JSON_Object( 
„id“, ID, „Name“, Name, „Studenten-ID“, Studenten-ID, „Punktzahl“, Punktzahl)) als Punktzahlen AB Punktzahl, wobei Studenten-ID = 1;
## Abfrageergebnisse## {"id": 1, "name": "Mathematik", "student_id": 1, "score": "95,5"},{"id": 2, "name": "Chinesisch", "student_id": 1, "score": "99,5"}

Konvertieren Sie die Noten eines einzelnen Schülers in einen Array-JSON-String.

Wählen Sie CONCAT('[', GROUP_CONCAT(JSON_OBJECT( 
'id',id,'name',name,'student_id',student_id, 'score', score)), ']') als Punkte FROM score wobei student_id = 1
## Abfrageergebnisse## [{"id": 1, "name": "Mathematik", "student_id": 1, "score": "95,5"},{"id": 2, "name": "Chinesisch", "student_id": 1, "score": "99,5"}]

Verwenden Sie die Array-Zeichenfolge als Wert und legen Sie den Schlüssel fest

Wählen Sie CONCAT('{"scoreData":[', GROUP_CONCAT(JSON_OBJECT( 
'id',id,'name',name,'student_id',student_id, 'score', score)), ']}') als Punkte FROM score wobei student_id = 1
## Abfrageergebnisse## {"scoreData": [{"id": 1, "name": "Mathematik", "student_id": 1, "score": "95,5"},{"id": 2, "name": "Chinesisch", "student_id": 1, "score": "99,5"}]}

Gemeinsame Abfrage zweier Tabellen (finales SQL, Noten jedes Schülers in jedem Fach)

Wählen Sie ID, Name,
(CONCAT AUSWÄHLEN('[', GROUP_CONCAT(JSON_OBJECT( 
'id',id,'name',name,'student_id',student_id, 'score', score)), ']') als Punkte FROM score WHERE student_id = stu.id) ALS Punkte
von Studenten
## [{"id": 1, "name": "Mathematik", "student_id": 1, "score": "95,5"},{"id": 2, "name": "Chinesisch", "student_id": 1, "score": "99,5"}]

Endergebnis

AUSWEIS NAME ERGEBNISSE
1 Zhang San [{„id“: 1, „name“: „Student“, „student_id“: 1, „score“: „95,5“},{„id“: 2, „name“: „Student“, „student_id“: 1, „score“: „99,5“}]
2 Li Si [{„id“: 3, „name“: „Mathematik“, „student_id“: 1, „score“: „95,5“},{„id“: 4, „name“: „Chinesisch“, „student_id“: 1, „score“: „88“}]

Dies ist das Ende dieses Artikels über die Konvertierung von MySQL-Abfrageergebnissätzen in JSON-Daten. Weitere relevante Konvertierungen von MySQL-Ergebnissätzen in JSON-Daten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Mysql fragt die Daten direkt im gespeicherten JSON-String ab
  • Datenabfragevorgang im MySQL-JSON-Format
  • Python-Abfrage MySQL, gibt JSON-Instanz zurück
  • JSON-Strings in MySQL speichern und bedingungengerecht abfragen

<<:  Docker löscht private Bibliotheksbilder vollständig

>>:  Designtheorie: Eine Methode, um die Herzen der Menschen zu verstehen

Artikel empfehlen

jQuery-Plugin zum Implementieren eines schwebenden Menüs

Lernen Sie jeden Tag ein schwebendes jQuery-Plug-...

Das Installationstutorial zu mysql5.5.28 ist super detailliert!

mysql5.5.28 Installations-Tutorial zu Ihrer Infor...

Mobiles Internet-Zeitalter: Responsive Webdesign ist zum allgemeinen Trend geworden

Wir befinden uns in einer Ära der rasanten Entwick...

Setzen Sie den Eingang auf schreibgeschützt über deaktiviert und schreibgeschützt

Es gibt zwei Möglichkeiten, schreibgeschützte Eing...

MySQL-Lernhinweise: Daten-Engine

Sehen Sie sich die von der aktuellen Datenbank un...

Eine Screenshot-Demo basierend auf Canvas in HTML

Geschrieben am Anfang Ich erinnere mich, dass ich...

Details zum TypeScript-Mapping-Typ

Inhaltsverzeichnis 1. Zugeordnete Typen 2. Mappin...

MySQL-Trigger-Verwendungsszenarien und Methodenbeispiele

auslösen: Trigger-Verwendungsszenarien und entspr...

Einführung in Javascript DOM, Knoten und Elementerfassung

Inhaltsverzeichnis DOM Knoten Elementknoten: Text...

Verwenden Sie die mail()-Funktion von PHP zum Senden von E-Mails

Senden von E-Mails mit der Mail-Funktion von PHP ...

Informationen zum Ausdruck „wenn Komma enthält“ in JavaScript

Manchmal sehen Sie in der if-Anweisung in JavaScr...

Verwenden Sie js in html, um die lokale Systemzeit abzurufen

Code kopieren Der Code lautet wie folgt: <div ...

JS Asynchronous Stack Tracing: Warum „await“ besser ist als „Promise“

Überblick Der grundlegende Unterschied zwischen a...

Grundlegender Installationsprozess von mysql5.7.19 unter winx64 (Details)

1. Herunterladen https://dev.mysql.com/downloads/...

So ändern Sie die Standardübermittlungsmethode des Formulars

Die Standard-Übermittlungsmethode von HTML ist get...