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

MySQL 8.0.11 Installations-Tutorial unter Windows

Dieser Artikel zeichnet das Installationstutorial...

Verwenden Sie die Befehle more, less und cat in Linux, um Dateiinhalte anzuzeigen

Unter Linux können die Befehle cat, more und less...

Tutorial zur Installation von MySQL 5.6 auf CentOS 6.5

1. Laden Sie das RPM-Paket für Linux herunter htt...

Font Treasure House 50 exquisite kostenlose englische Schriftartenressourcen Teil 2

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

Installations- und Nutzungsprotokoll von VMware ESXi (mit Download)

Inhaltsverzeichnis 1. Installieren Sie ESXi 2. ES...

Einführung in die Apache-Bereitstellung von https in der Kryptografie

Inhaltsverzeichnis Zweck Experimentelle Umgebung ...

8 JS reduziert Verwendungsbeispiele und reduzierte Betriebsmethoden

reduce Methode ist eine Array-Iterationsmethode. ...

Probleme und Vorsichtsmaßnahmen beim Festlegen von maxPostSize für Tomcat

1. Warum maxPostSize festlegen? Der Tomcat-Contai...

MySQL-Schleife fügt zig Millionen Daten ein

1. Erstellen Sie eine Testtabelle Tabelle `mysql_...

Ubuntu 20.04 stellt eine Verbindung zu WLAN her (2 Methoden)

Ich habe vor Kurzem Ubuntu 20.04 installiert und ...