English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico de NodeJS

NodeJS Express.js

NodeJS Buffer & URL;

NodeJS MySql

NodeJS MongoDB

Archivo NodeJS (FS)

Otro NodeJS

Objeto de resultado en MySQL en Node.js

Cuando se ejecuta una consulta MySQL en Node.js, un objeto llamado Result Object se devuelve al callback. Este objeto contiene un conjunto de resultados o propiedades que proporcionan información sobre la ejecución de la consulta en el servidor MySQL.

Objeto de resultado MySQL en Node.js

El contenido del objeto de resultado depende de la consulta SQL realizada al servidor MySQL. La siguiente tabla describe el objeto de resultado de la consulta, como selecciones, inserciones, actualizaciones y eliminaciones.

Consulta MySQLObjeto de resultado
SELECT FROMConjunto de resultados que contiene registros
INSERT INTOObjeto que contiene el estado de ejecución
UPDATEObjeto que contiene el estado de ejecución
DELETE FROM

Objeto que contiene el estado de ejecución

A continuación, con la ayuda de algunos ejemplos, entenderemos cómo acceder a las propiedades de los registros del conjunto de resultados y cómo acceder a las propiedades del estado de ejecución.

  • Consulta SELECT FROM MySQL – Acceder a ResultSet

  • Consulta INSERT INTO MySQL – Acceder a las propiedades del objeto de resultado

  • Consulta UPDATE MySQL-Acceder a las propiedades del objeto de resultado

  • Consulta DELETE FROM MySQL-Acceder a las propiedades del objeto de resultado

Ejemplo – Consulta SELECT FROM MySQL – Acceder a ResultSet

Podemos usar el operador de punto (.) para acceder a los registros del conjunto de resultados como atributos de un array y de un registro.

// Ejemplo de objeto de resultado MySQL en Node.js
// Importar el módulo mysql
var mysql = require('mysql'); 
 
// Crear una variable de conexión con la información detallada requerida
var con = mysql.createConnection({ 
  host: "localhost", // dirección IP del servidor que ejecuta MySQL
  usuario: "arjun", // nombre de usuario de la base de datos MySQL
  contraseña: "contraseña", // Contraseña correspondiente
  database: "studentsDB" // Usar la base de datos especificada
 }); 
 
// Establecer conexión con la base de datos
con.connect(function(err) { 
  if (err) throw err; 
  // Si la conexión tiene éxito
  con.query("SELECT * FROM students", function (err, result, fields) { 
    // Si ocurre algún error al ejecutar la consulta anterior, lanza el error
    if (err) throw err; 
    // Si no hay errores, obtendrá los resultados
    // Iterar todas las filas del resultado
    Object.keys(result).forEach(function(key) { 
      var row = result[key]; 
      console.log(row.name) 
    }); 
  }); 
 });

Ejecutar el programa anterior con el nodo en el terminal

Salida del terminal

arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node selectUseResultObject.js 
John
Arjun
Prasanth
Adarsh
Raja
Sai
Ross
Monica
Lee
Bruce
Sukumar

Ejemplo – Consulta INSERT INTO MySQL

Podemos usar el operador DOT (.) para acceder a las propiedades del objeto de resultados.

// Importar el módulo mysql
var mysql = require('mysql'); 
 
// Crear una variable de conexión con la información detallada requerida
var con = mysql.createConnection({ 
  host: "localhost", // dirección IP del servidor que ejecuta MySQL
  usuario: "arjun", // nombre de usuario de la base de datos MySQL
  contraseña: "contraseña", // Contraseña correspondiente
  database: "studentsDB" // Usar la base de datos especificada
 }); 
 
// Establecer conexión con la base de datos
con.connect(function(err) { 
  if (err) throw err; 
  // Si la conexión tiene éxito
  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 ocurre algún error al ejecutar la consulta anterior, lanza el error
    if (err) throw err; 
    // Si no hay errores, obtendrá los resultados
    console.log(result); 
    console.log("Número de filas afectadas: ", + result.affectedRows); 
    console.log("Número de registros afectados con advertencia: ", + result.warningCount); 
    console.log("Mensaje del servidor MySQL: ", + result.message); 
  }); 
 });

Ejecutar el programa anterior con el nodo en el terminal

Salida del terminal

arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node MultipleInsertExample.js 
OkPacket { 
  fieldCount: 0, 
  affectedRows: 3, 
  insertId: 0, 
  serverStatus: 2, 
  warningCount: 0, 
  mensaje: '&Records: 3  Duplicados: 0     Advertencias: 0', 
  protocol41: true, 
  changedRows: 0} 
Número de filas afectadas: 3
Número de registros afectados con advertencia: 0
Mensaje del servidor MySQL: &Records: 3 Duplicados: 0 Advertencias: 0

Ejemplo – Consulta UPDATE MySQL

Podemos usar el operador DOT (.) para acceder a las propiedades del objeto de resultados.

// Importar el módulo mysql
var mysql = require('mysql'); 
 
// Crear una variable de conexión con la información detallada requerida
var con = mysql.createConnection({ 
  host: "localhost", // dirección IP del servidor que ejecuta MySQL
  usuario: "arjun", // nombre de usuario de la base de datos MySQL
  contraseña: "contraseña", // Contraseña correspondiente
  database: "studentsDB" // Usar la base de datos especificada
 }); 
 
// Establecer conexión con la base de datos
con.connect(function(err) { 
  if (err) throw err; 
  // Si la conexión tiene éxito
  con.query("UPDATE students SET marks=84 WHERE marks=74", function (err, result, fields) { 
    // Si ocurre algún error al ejecutar la consulta anterior, lanza el error
    if (err) throw err; 
    // Si no hay errores, obtendrá los resultados
    console.log(result); 
    console.log("Número de filas afectadas: ", + result.affectedRows); 
    console.log("Número de registros afectados con advertencia: ", + result.warningCount); 
    console.log("Mensaje del servidor MySQL: ", + result.message); 
  }); 
 });

Ejecutar el programa anterior con el nodo en el terminal

Salida del terminal

arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node UpdateRecordsFiltered.js 
OkPacket { 
  fieldCount: 0, 
  affectedRows: 3, 
  insertId: 0, 
  serverStatus: 34, 
  warningCount: 0, 
  mensaje: '(Filas coincidentes: 3  Cambiado: 3  Advertencias: 0', 
  protocol41: true, 
  changedRows: 3 } 
Número de filas afectadas: 3
Número de registros afectados con advertencia: 0
Mensaje del servidor MySQL: (Filas coincidentes: 3 Cambiado: 3 Advertencias: 0

Ejemplo – Eliminar desde la consulta MySQL

Podemos usar el operador DOT (.) para acceder a las propiedades del objeto de resultados.

// Importar el módulo mysql
var mysql = require('mysql'); 
 
// Crear una variable de conexión con la información detallada requerida
var con = mysql.createConnection({ 
  host: "localhost", // dirección IP del servidor que ejecuta MySQL
  usuario: "arjun", // nombre de usuario de la base de datos MySQL
  contraseña: "contraseña", // Contraseña correspondiente
  database: "studentsDB" // Usar la base de datos especificada
 }); 
 
// Conectar a la base de datos.
con.connect(function(err) { 
  if (err) throw err; 
  // Si la conexión tiene éxito
  con.query("DELETE FROM students WHERE rollno>10", function (err, result, fields) { 
    // Si ocurre algún error al ejecutar la consulta anterior, lanza el error
    if (err) throw err; 
    // Si no hay errores, obtendrá los resultados
    console.log(result); 
    console.log("Número de filas afectadas: ", + result.affectedRows); 
    console.log("Número de registros afectados con advertencia: ", + result.warningCount); 
    console.log("Mensaje del servidor MySQL: ", + result.message); 
  }); 
 });

Ejecutar el programa anterior con el nodo en el terminal

Salida del terminal

arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node deleteRecordsFiltered.js 
OkPacket { 
  fieldCount: 0, 
  affectedRows: 6, 
  insertId: 0, 
  serverStatus: 34, 
  warningCount: 0, 
  message: '', 
  protocol41: true, 
  changedRows: 0} 
Número de filas afectadas: 6
Número de registros afectados con advertencia: 0
Mensaje del servidor MySQL:

Conclusión

En esta lección de Node.js – Node.js MySQL – aprendimos a acceder a los registros del conjunto de resultados y accedimos a las propiedades del objeto de resultados que contiene información sobre la ejecución de la consulta mediante ejemplos.