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

Zwei Möglichkeiten, den Zeichensatz der HTML-Seite anzugeben

1. Zwei Möglichkeiten, den Zeichensatz der HTML-S...

So verwenden Sie die Glog-Protokollbibliothek in einer Linux-Umgebung

Linux-Bibliothek generieren Die Linux-Version ver...

Erste Schritte mit MySQL Sharding

Vorwort Relationale Datenbanken werden eher zu Sy...

Anweisungen zur Verwendung der MySQL-IndexOF-Funktion

Wie unten dargestellt: LOCATE(Teilzeichenfolge,Ze...

Über nginx zur Implementierung des Jira-Reverse-Proxys

Zusammenfassung: Nginx-Reverse-Proxy für JIRA kon...

So aktualisieren Sie die Knotenversion unter CentOs manuell

1. Suchen Sie das entsprechende NodeJS-Paket unte...

HTML-Multimediaanwendung: Einfügen von Flash-Animationen und Musik in Webseiten

1. Anwendung von Multimedia in HTML_Flash-Animati...

CSS-Rand halb oder teilweise sichtbarer Implementierungscode

1. Verwenden Sie Pseudoklassen, um die Hälfte des...