English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在Node.js中执行MySQL查询时,名为Result Object的对象将返回到回调函数。结果对象包含提供有关MySQL Server中查询执行信息的结果集或属性。
结果对象的内容取决于对MySQL Server进行的SQL查询。下表内容描述了查询的结果对象,例如选择,插入,更新和删除。
MySQL 查询 | 结果对象 |
SELECT FROM | 包含记录的结果集 |
INSERT INTO | 包含执行状态的对象 |
UPDATE | 包含执行状态的对象 |
DELETE FROM | 包含执行状态的对象 |
我们将在以下示例的帮助下了解如何访问结果集中记录的属性以及如何访问执行状态的属性。
MySQL SELECT FROM 查询– 访问ResultSet
MySQL INSERT INTO 查询–访问结果对象的属性
MySQL UPDATE 查询-访问结果对象的属性
MySQL DELETE FROM 查询-访问结果对象的属性
我们可以使用点(.)运算符将结果集中的记录作为数组和记录的属性来访问。
// Node.js MySQL结果对象示例 // Importieren Sie das mysql-Modul var mysql = require('mysql'); // Erstellen Sie eine Verbindungsvariablen mit den erforderlichen Details var con = mysql.createConnection({ host: "localhost", // IP-Adresse des Servers, auf dem mysql läuft user: "arjun", // mysql Datenbank Benutzername password: "password", // entsprechendes Passwort database: "studentsDB" // Verwenden Sie die angegebene Datenbank }); // Verbinden Sie mit der Datenbank. con.connect(function(err) { if (err) throw err; // Wenn die Verbindung erfolgreich ist con.query("SELECT * FROM students", function err, result, fields) { // Wenn es bei der Ausführung der obigen Abfrage zu einem Fehler kommt, wird ein Fehler ausgelöst if (err) throw err; // Wenn es keine Fehler gibt, erhalten Sie das Ergebnis // 对结果中的所有行进行迭代 Object.keys(result).forEach(function(key) { var row = result[key]; console.log(row.name) }); }); });
Führen Sie den obigen Programm im Terminal aus
Terminalausgabe
arjun@arjun-VPCEH26EN:~/Arbeitsplatz/nodejs$ node selectUseResultObject.js John Arjun Prasanth Adarsh Raja Sai Ross Monica Lee Bruce Sukumar
Wir können den DOT(.)-Operator verwenden, um auf die Eigenschaften des Ergebnisobjekts zuzugreifen.
// Importieren Sie das mysql-Modul var mysql = require('mysql'); // Erstellen Sie eine Verbindungsvariablen mit den erforderlichen Details var con = mysql.createConnection({ host: "localhost", // IP-Adresse des Servers, auf dem mysql läuft user: "arjun", // mysql Datenbank Benutzername password: "password", // entsprechendes Passwort database: "studentsDB" // Verwenden Sie die angegebene Datenbank }); // Verbinden Sie mit der Datenbank. con.connect(function(err) { if (err) throw err; // Wenn die Verbindung erfolgreich ist var records = [ ['Jack', 16, 82], ['Priya', 17, 88], ['Amy', 15, 74] ]; con.query("INSERT INTO students (name,rollno,marks) VALUES ?", [records], function(err, result, fields) { // Wenn es bei der Ausführung der obigen Abfrage zu einem Fehler kommt, wird ein Fehler ausgelöst if (err) throw err; // Wenn es keine Fehler gibt, erhalten Sie das Ergebnis console.log(result); console.log("Anzahl der betroffenen Zeilen : ", + result.affectedRows); console.log("Anzahl der betroffenen Records mit Warnung : ", + result.warningCount); console.log("Nachricht von MySQL Server : ", + result.message); }); });
Führen Sie den obigen Programm im Terminal aus
Terminalausgabe
arjun@arjun-VPCEH26EN:~/Arbeitsplatz/nodejs$ node MultipleInsertExample.js OkPacket { fieldCount: 0, affectedRows: 3, insertId: 0, serverStatus: 2, warningCount: 0, Nachricht: '&Records: 3 Duplikate: 0 Warnungen: 0', Protokoll41: true, changedRows: 0 } Anzahl der betroffenen Zeilen : 3 Anzahl der betroffenen Records mit Warnung : 0 Nachricht vom MySQL-Server: &Records: 3 Duplikate: 0 Warnungen: 0
Wir können den DOT(.)-Operator verwenden, um auf die Eigenschaften des Ergebnisobjekts zuzugreifen.
// Importieren Sie das mysql-Modul var mysql = require('mysql'); // Erstellen Sie eine Verbindungsvariablen mit den erforderlichen Details var con = mysql.createConnection({ host: "localhost", // IP-Adresse des Servers, auf dem mysql läuft user: "arjun", // mysql Datenbank Benutzername password: "password", // entsprechendes Passwort database: "studentsDB" // Verwenden Sie die angegebene Datenbank }); // Verbinden Sie mit der Datenbank. con.connect(function(err) { if (err) throw err; // Wenn die Verbindung erfolgreich ist con.query("UPDATE students SET marks=84 WHERE marks=74, function (err, result, fields) { // Wenn es bei der Ausführung der obigen Abfrage zu einem Fehler kommt, wird ein Fehler ausgelöst if (err) throw err; // Wenn es keine Fehler gibt, erhalten Sie das Ergebnis console.log(result); console.log("Anzahl der betroffenen Zeilen : ", + result.affectedRows); console.log("Anzahl der betroffenen Records mit Warnung : ", + result.warningCount); console.log("Nachricht von MySQL Server : ", + result.message); }); });
Führen Sie den obigen Programm im Terminal aus
Terminalausgabe
arjun@arjun-VPCEH26EN:~/Arbeitsplatz/nodejs$ node UpdateRecordsFiltered.js OkPacket { fieldCount: 0, affectedRows: 3, insertId: 0, serverStatus: 34, warningCount: 0, Nachricht: '(Zeilen gematcht: 3 Geändert: 3 Warnungen: 0', Protokoll41: true, changedRows: 3 } Anzahl der betroffenen Zeilen : 3 Anzahl der betroffenen Records mit Warnung : 0 Nachricht vom MySQL-Server: (Zeilen gematcht: 3 Geändert: 3 Warnungen: 0
Wir können den DOT(.)-Operator verwenden, um auf die Eigenschaften des Ergebnisobjekts zuzugreifen.
// Importieren Sie das mysql-Modul var mysql = require('mysql'); // Erstellen Sie eine Verbindungsvariablen mit den erforderlichen Details var con = mysql.createConnection({ host: "localhost", // IP-Adresse des Servers, auf dem mysql läuft user: "arjun", // mysql Datenbank Benutzername password: "password", // entsprechendes Passwort database: "studentsDB" // Verwenden Sie die angegebene Datenbank }); // Verbinden Sie sich mit der Datenbank. con.connect(function(err) { if (err) throw err; // Wenn die Verbindung erfolgreich ist con.query("DELETE FROM students WHERE rollno>10, function (err, result, fields) { // Wenn es bei der Ausführung der obigen Abfrage zu einem Fehler kommt, wird ein Fehler ausgelöst if (err) throw err; // Wenn es keine Fehler gibt, erhalten Sie das Ergebnis console.log(result); console.log("Anzahl der betroffenen Zeilen : ", + result.affectedRows); console.log("Anzahl der betroffenen Records mit Warnung : ", + result.warningCount); console.log("Nachricht von MySQL Server : ", + result.message); }); });
Führen Sie den obigen Programm im Terminal aus
Terminalausgabe
arjun@arjun-VPCEH26EN:~/Arbeitsplatz/nodejs$ node deleteRecordsFiltered.js OkPacket { fieldCount: 0, affectedRows: 6, insertId: 0, serverStatus: 34, warningCount: 0, Nachricht: '', Protokoll41: true, changedRows: 0 } Anzahl der betroffenen Zeilen : 6 Anzahl der betroffenen Records mit Warnung : 0 Nachricht von MySQL Server :
In diesem Node.js-Tutorial – Node.js MySQL – haben wir das Abrufen von Record-Sätzen der Ergebnismenge gelernt und haben durch Beispiel die Attribute des Ergebnisobjekts, das Informationen über die Ausführung der Abfrage enthält, aufgerufen.