Resumo : neste tutorial, você aprenderá como atualizar dados no banco de dados MySQL a partir de uma aplicação Node.js.
Este tutorial continua de onde o tutorial Consultando dados no banco de dados MySQL a partir do Node.js parou.
Atualizando dados
Para atualizar dados em uma tabela no MySQL a partir de um aplicativo Node.js, siga estas etapas:
- Conecte-se ao servidor de banco de dados MySQL .
- Execute uma
UPDATE
instrução chamando oquery()
método em umConnection
objeto. - Feche a conexão com o banco de dados.
O update.js
programa a seguir define o valor da completed
coluna de ID de linha 1 na todos
tabela como falso:
let mysql = require('mysql');
let connection = mysql.createConnection({
host: process.env.DB_HOST,
port: process.env.DB_PORT,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
});
connection.connect((err) => {
if (err) return console.error(err.message);
let sql = `UPDATE todos
SET completed = ?
WHERE id = ?`;
let data = [false, 1];
connection.query(sql, data, (error, results, fields) => {
if (error) return console.error(error.message);
console.log('Rows affected:', results.affectedRows);
});
// close the database connection
connection.end();
});
Linguagem de código: JavaScript ( javascript )
Como funciona.
Primeiro, importe o mysql
módulo:
let mysql = require('mysql');
Linguagem de código: JavaScript ( javascript )
Segundo, crie uma conexão com o banco de dados MySQL usando o createConnection
método:
let connection = mysql.createConnection({
host: process.env.DB_HOST,
port: process.env.DB_PORT,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
});
Linguagem de código: JavaScript ( javascript )
Observe que recuperamos os parâmetros de conexão (host, porta, usuário, senha e banco de dados) das variáveis de ambiente usando .env
.
Terceiro, conecte-se ao banco de dados MySQL:
connection.connect((err) => {
if (err) return console.error(err.message);
});
Linguagem de código: JavaScript ( javascript )
Este código verifica e registra quaisquer erros de conexão, se houver.
Quarto, defina uma consulta SQL para atualizar um registro na todos
tabela:
let sql = `UPDATE todos
SET completed = ?
WHERE id = ?`;
Linguagem de código: JavaScript ( javascript )
Quinto, especifique os dados usados na consulta:
let data = [false, 1];
Linguagem de código: JavaScript ( javascript )
Nesse caso, o primeiro espaço reservado ?
na consulta SQL será substituído por false
e o segundo espaço reservado ?
será substituído por 1
.
Sexto, execute a consulta SQL usando o query
método:
connection.query(sql, data, (error, results, fields) => {
if (error) return console.error(error.message);
console.log('Rows affected:', results.affectedRows);
});
Linguagem de código: JavaScript ( javascript )
Este código executa a consulta e exibe o número de linhas afetadas.
Por fim, feche a conexão com o banco de dados:
connection.end();
Linguagem de código: CSS ( css )
Verifique a atualização
Primeiro, recupere a linha com id 1 da tabela todos:
SELECT * FROM todos WHERE id = 1;
Saída:
+----+-------------------------------+-----------+
| id | title | completed |
+----+-------------------------------+-----------+
| 1 | Learn how to insert a new row | 1 |
+----+-------------------------------+-----------+
1 row in set (0.00 sec)
Linguagem de código: JavaScript ( javascript )
Segundo, execute o update.js
programa.
node --env-file .env update.js
Linguagem de código: CSS ( css )
A saída indica que o número de linhas atualizadas é 1.
Terceiro, consulte os dados da todos
tabela:
select * from todos where id=1;
Linguagem de código: JavaScript ( javascript )
Saída:
+----+-------------------------------+-----------+
| id | title | completed |
+----+-------------------------------+-----------+
| 1 | Learn how to insert a new row | 0 |
+----+-------------------------------+-----------+
1 row in set (0.00 sec)
Linguagem de código: JavaScript ( javascript )
Os dados mostraram que o valor da coluna preenchida foi atualizado para 0.
Neste tutorial, você aprendeu como atualizar dados em uma tabela MySQL a partir de um aplicativo Node.js.