English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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 MySQL | Objeto de resultado |
SELECT FROM | Conjunto de resultados contendo registros |
INSERT INTO | Objeto contendo o estado de execução |
UPDATE | Objeto 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
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
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
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
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:
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.