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结果对象示例 // Inclure le module mysql var mysql = require('mysql'); // Créer une variable de connexion avec les informations détaillées nécessaires var con = mysql.createConnection({ host: "localhost", // adresse IP du serveur où s'exécute MySQL user: "arjun", // nom d'utilisateur de la base de données MySQL mot de passe: "mot de passe", // le mot de passe correspondant database: "studentsDB" // Utilisez la base de données spécifiée }); // Établir une connexion avec la base de données con.connect(function(err) { if (err) throw err; // Si la connexion est réussie con.query("SELECT * FROM students", function (err, result, fields) { // Si une erreur se produit lors de l'exécution de la requête ci-dessus, une erreur est lancée if (err) throw err; // Si il n'y a pas d'erreur, vous obtiendrez le résultat // 对结果中的所有行进行迭代 Object.keys(result).forEach(function(key) { var row = result[key]; console.log(row.name) }); }); });
Exécutez le programme ci-dessus avec le noeud dans le terminal
Sortie du terminal
arjun@arjun-VPCEH26EN:~/espace de travail/nodejs$ node selectUseResultObject.js John Arjun Prasanth Adarsh Raja Sai Ross Monica Lee Bruce Sukumar
Nous pouvons utiliser l'opérateur DOT (.) pour accéder aux propriétés de l'objet de résultat.
// Inclure le module mysql var mysql = require('mysql'); // Créer une variable de connexion avec les informations détaillées nécessaires var con = mysql.createConnection({ host: "localhost", // adresse IP du serveur où s'exécute MySQL user: "arjun", // nom d'utilisateur de la base de données MySQL mot de passe: "mot de passe", // le mot de passe correspondant database: "studentsDB" // Utilisez la base de données spécifiée }); // Établir une connexion avec la base de données con.connect(function(err) { if (err) throw err; // Si la connexion est réussie 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) { // Si une erreur se produit lors de l'exécution de la requête ci-dessus, une erreur est lancée if (err) throw err; // Si il n'y a pas d'erreur, vous obtiendrez le résultat console.log(result); console.log("Nombre de lignes affectées : ", + result.affectedRows); console.log("Nombre d'enregistrements affectés avec avertissement : ", + result.warningCount); console.log("Message de serveur MySQL : ", + result.message); }); });
Exécutez le programme ci-dessus avec le noeud dans le terminal
Sortie du terminal
arjun@arjun-VPCEH26EN:~/espace de travail/nodejs$ node MultipleInsertExample.js OkPacket { fieldCount: 0, affectedRows: 3, insertId: 0, serverStatus: 2, warningCount: 0, message: '&Enregistrements: 3 Doublons: 0 Avertissements: 0', protocole41: true, changedRows: 0 } Nombre de lignes affectées : 3 Nombre d'enregistrements affectés avec avertissement : 0 Message du serveur MySQL : &Enregistrements: 3 Doublons: 0 Avertissements: 0
Nous pouvons utiliser l'opérateur DOT (.) pour accéder aux propriétés de l'objet de résultat.
// Inclure le module mysql var mysql = require('mysql'); // Créer une variable de connexion avec les informations détaillées nécessaires var con = mysql.createConnection({ host: "localhost", // adresse IP du serveur où s'exécute MySQL user: "arjun", // nom d'utilisateur de la base de données MySQL mot de passe: "mot de passe", // le mot de passe correspondant database: "studentsDB" // Utilisez la base de données spécifiée }); // Établir une connexion avec la base de données con.connect(function(err) { if (err) throw err; // Si la connexion est réussie con.query("UPDATE students SET marks=84 Où marks=74, function (err, result, fields) { // Si une erreur se produit lors de l'exécution de la requête ci-dessus, une erreur est lancée if (err) throw err; // Si il n'y a pas d'erreur, vous obtiendrez le résultat console.log(result); console.log("Nombre de lignes affectées : ", + result.affectedRows); console.log("Nombre d'enregistrements affectés avec avertissement : ", + result.warningCount); console.log("Message de serveur MySQL : ", + result.message); }); });
Exécutez le programme ci-dessus avec le noeud dans le terminal
Sortie du terminal
arjun@arjun-VPCEH26EN:~/espace de travail/nodejs$ node UpdateRecordsFiltered.js OkPacket { fieldCount: 0, affectedRows: 3, insertId: 0, serverStatus: 34, warningCount: 0, message: '(Lignes correspondantes: 3 Modifié: 3 Avertissements: 0', protocole41: true, changedRows: 3 } Nombre de lignes affectées : 3 Nombre d'enregistrements affectés avec avertissement : 0 Message du serveur MySQL : (Lignes correspondantes: 3 Modifié: 3 Avertissements: 0
Nous pouvons utiliser l'opérateur DOT (.) pour accéder aux propriétés de l'objet de résultat.
// Inclure le module mysql var mysql = require('mysql'); // Créer une variable de connexion avec les informations détaillées nécessaires var con = mysql.createConnection({ host: "localhost", // adresse IP du serveur où s'exécute MySQL user: "arjun", // nom d'utilisateur de la base de données MySQL mot de passe: "mot de passe", // le mot de passe correspondant database: "studentsDB" // Utilisez la base de données spécifiée }); // Connectez-vous à la base de données. con.connect(function(err) { if (err) throw err; // Si la connexion est réussie con.query("DELETE FROM students WHERE rollno>10, function (err, result, fields) { // Si une erreur se produit lors de l'exécution de la requête ci-dessus, une erreur est lancée if (err) throw err; // Si il n'y a pas d'erreur, vous obtiendrez le résultat console.log(result); console.log("Nombre de lignes affectées : ", + result.affectedRows); console.log("Nombre d'enregistrements affectés avec avertissement : ", + result.warningCount); console.log("Message de serveur MySQL : ", + result.message); }); });
Exécutez le programme ci-dessus avec le noeud dans le terminal
Sortie du terminal
arjun@arjun-VPCEH26EN:~/espace de travail/nodejs$ node deleteRecordsFiltered.js OkPacket { fieldCount: 0, affectedRows: 6, insertId: 0, serverStatus: 34, warningCount: 0, message: '', protocole41: true, changedRows: 0 } Nombre de lignes affectées : 6 Nombre d'enregistrements affectés avec avertissement : 0 Message de serveur MySQL :
Dans ce tutoriel Node.js - Node.js MySQL - nous avons appris à accéder aux enregistrements du jeu de résultats et avons consulté les propriétés de l'objet de résultats contenant des informations sur l'exécution de la requête par exemple.