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

Tutorial básico NodeJS

NodeJS Express.js

NodeJS Buffer & URL;

NodeJS MySql

NodeJS MongoDB

Arquivo NodeJS (FS)

Outros NodeJS

Objeto de Resultado no MySQL no Node.js

Quando executamos uma consulta MySQL no Node.js, um objeto chamado Result Object é retornado para a função de callback. O objeto de resultado contém o conjunto de resultados ou atributos que fornecem informações sobre a execução da consulta no MySQL Server.

Objeto de resultado MySQL Node.js

O conteúdo do objeto de resultado depende da consulta SQL feita no MySQL Server. A tabela a seguir descreve o objeto de resultado da consulta, como select, insert, update e delete.

Consulta MySQLObjeto de resultado
SELECT FROMConjunto de resultados contendo registros
INSERT INTOObjeto contendo o estado de execução
UPDATEObjeto contendo o estado de execução
DELETE FROM

Objeto contendo o estado de execução

Vamos entender como acessar os atributos dos registros no conjunto de resultados e como acessar os atributos do estado de execução, com a ajuda dos exemplos a seguir.

  • Consulta SELECT FROM MySQL – acessar ResultSet

  • Consulta INSERT INTO MySQL – acessar os atributos do objeto de resultado

  • Consulta UPDATE MySQL-Acessar os atributos do objeto de resultado

  • Consulta DELETE FROM MySQL-Acessar os atributos do objeto de resultado

Exemplo – consulta SELECT FROM MySQL – acessar ResultSet

Podemos usar o operador de ponto (.) para acessar os registros no conjunto de resultados como array e atributos de registro.

// Exemplo de objeto de resultado MySQL Node.js
// importar o módulo mysql
var mysql = require('mysql'); 
 
// criar uma variável de conexão com detalhes necessários
var con = mysql.createConnection({ 
  host: "localhost", // endereço IP do servidor que executa o MySQL
  user: "arjun", // nome de usuário do banco de dados MySQL
  password: "password", // senha correspondente
  bancoDeDados: "studentsDB" // Usando o banco de dados especificado
 }); 
 
// estabelecer conexão com o banco de dados
con.connect(function(err) { 
  if (err) throw err; 
  // Se a conexão for bem-sucedida
  con.query("SELECT * FROM students", function (err, result, fields) { 
    // Se ocorrer algum erro ao executar a consulta acima, lança um erro
    if (err) throw err; 
    // Se não houver erros, você receberá o resultado
    // Iterar sobre todas as linhas do resultado
    Object.keys(result).forEach(function(key) { 
      var row = result[key]; 
      console.log(row.name) 
    }); 
  }); 
 });

Execute o programa acima usando o nó no terminal

Saída do Terminal

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

Exemplo – Consulta INSERT INTO do MySQL

Podemos usar o operador DOT (.) para acessar as propriedades do objeto de resultado.

// importar o módulo mysql
var mysql = require('mysql'); 
 
// criar uma variável de conexão com detalhes necessários
var con = mysql.createConnection({ 
  host: "localhost", // endereço IP do servidor que executa o MySQL
  user: "arjun", // nome de usuário do banco de dados MySQL
  password: "password", // senha correspondente
  bancoDeDados: "studentsDB" // Usando o banco de dados especificado
 }); 
 
// estabelecer conexão com o banco de dados
con.connect(function(err) { 
  if (err) throw err; 
  // Se a conexão for bem-sucedida
  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) { 
    // Se ocorrer algum erro ao executar a consulta acima, lança um erro
    if (err) throw err; 
    // Se não houver erros, você receberá o resultado
    console.log(result); 
    console.log("Número de linhas afetadas: ", + result.linhasAfetadas); 
    console.log("Número de registros afetados com aviso: ", + result.contagemDeAvisos); 
    console.log("Mensagem do Servidor MySQL: ", + result.message); 
  }); 
 });

Execute o programa acima usando o nó no terminal

Saída do Terminal

arjun@arjun-VPCEH26EN:~/áreaDeTrabalho/nodejs$ node MultipleInsertExample.js 
OkPacket { 
  contagemDeCampos: 0, 
  linhasAfetadas: 3, 
  idDeInserção: 0, 
  estadoDoServidor: 2, 
  contagemDeAvisos: 0, 
  mensagem: '&Records: 3  Duplicados: 0     Avisos: 0', 
  protocolo41: true, 
  changedRows: 0} 
Número de linhas afetadas: 3
Número de registros afetados com aviso: 0
Mensagem do Servidor MySQL: &Records: 3 Duplicados: 0 Avisos: 0

Exemplo – Consulta UPDATE do MySQL

Podemos usar o operador DOT (.) para acessar as propriedades do objeto de resultado.

// importar o módulo mysql
var mysql = require('mysql'); 
 
// criar uma variável de conexão com detalhes necessários
var con = mysql.createConnection({ 
  host: "localhost", // endereço IP do servidor que executa o MySQL
  user: "arjun", // nome de usuário do banco de dados MySQL
  password: "password", // senha correspondente
  bancoDeDados: "studentsDB" // Usando o banco de dados especificado
 }); 
 
// estabelecer conexão com o banco de dados
con.connect(function(err) { 
  if (err) throw err; 
  // Se a conexão for bem-sucedida
  con.query("UPDATE students SET marks=84 WHERE marks=74", function (err, result, fields) { 
    // Se ocorrer algum erro ao executar a consulta acima, lança um erro
    if (err) throw err; 
    // Se não houver erros, você receberá o resultado
    console.log(result); 
    console.log("Número de linhas afetadas: ", + result.linhasAfetadas); 
    console.log("Número de registros afetados com aviso: ", + result.contagemDeAvisos); 
    console.log("Mensagem do Servidor MySQL: ", + result.message); 
  }); 
 });

Execute o programa acima usando o nó no terminal

Saída do Terminal

arjun@arjun-VPCEH26EN:~/áreaDeTrabalho/nodejs$ node UpdateRecordsFiltered.js 
OkPacket { 
  contagemDeCampos: 0, 
  linhasAfetadas: 3, 
  idDeInserção: 0, 
  estadoDoServidor: 34, 
  contagemDeAvisos: 0, 
  mensagem: '(Linhas coincidentes: 3  Alterado: 3  Avisos: 0', 
  protocolo41: true, 
  changedRows: 3 } 
Número de linhas afetadas: 3
Número de registros afetados com aviso: 0
Mensagem do Servidor MySQL: (Linhas coincidentes: 3 Alterado: 3 Avisos: 0

Exemplo – Exclusão de registros filtrados do MySQL

Podemos usar o operador DOT (.) para acessar as propriedades do objeto de resultado.

// importar o módulo mysql
var mysql = require('mysql'); 
 
// criar uma variável de conexão com detalhes necessários
var con = mysql.createConnection({ 
  host: "localhost", // endereço IP do servidor que executa o MySQL
  user: "arjun", // nome de usuário do banco de dados MySQL
  password: "password", // senha correspondente
  bancoDeDados: "studentsDB" // Usando o banco de dados especificado
 }); 
 
// Conectando ao banco de dados.
con.connect(function(err) { 
  if (err) throw err; 
  // Se a conexão for bem-sucedida
  con.query("DELETE FROM students WHERE rollno>10", function (err, result, fields) { 
    // Se ocorrer algum erro ao executar a consulta acima, lança um erro
    if (err) throw err; 
    // Se não houver erros, você receberá o resultado
    console.log(result); 
    console.log("Número de linhas afetadas: ", + result.linhasAfetadas); 
    console.log("Número de registros afetados com aviso: ", + result.contagemDeAvisos); 
    console.log("Mensagem do Servidor MySQL: ", + result.message); 
  }); 
 });

Execute o programa acima usando o nó no terminal

Saída do Terminal

arjun@arjun-VPCEH26EN:~/áreaDeTrabalho/nodejs$ node deleteRecordsFiltered.js 
OkPacket { 
  contagemDeCampos: 0, 
  linhasAfetadas: 6, 
  idDeInserção: 0, 
  estadoDoServidor: 34, 
  contagemDeAvisos: 0, 
  mensagem: '', 
  protocolo41: true, 
  changedRows: 0} 
Número de linhas afetadas: 6
Número de registros afetados com aviso: 0
Mensagem do Servidor MySQL:

Conclusão

Neste tutorial do Node.js – Node.js MySQL – aprendemos a acessar os registros do conjunto de resultados e acessamos as propriedades do objeto de resultados contendo informações sobre a execução da consulta por meio de exemplos.