从Node.js更新MySQL数据库中的数据
时间:2019-11-20 08:52:40 来源:igfitidea点击:
简介:在本教程中,您将学习如何从node.js应用程序更新MySQL数据库中的数据。
要从node.js应用程序更新数据,请使用以下步骤:
连接到MySQL数据库服务器。
通过在Connection对象上调用query()方法来执行UPDATE语句。
关闭数据库连接。
要连接到MySQL数据库,我们将使用以下config.js模块,其中包含MySQL数据库服务器的必要信息,包括主机,用户,密码和数据库。
let config = { host : 'localhost', user : 'root', password: '', database: 'todoapp' }; module.exports = config;
更新数据示例
以下update.js程序根据特定的ID更新待办事项的状态。
let mysql = require('mysql'); let config = require('./config.js'); let connection = mysql.createConnection(config); // update statment let sql = `UPDATE todos SET completed = ? WHERE id = ?`; let data = [false, 1]; // execute the UPDATE statement connection.query(sql, data, (error, results, fields) => { if (error){ return console.error(error.message); } console.log('Rows affected:', results.affectedRows); }); connection.end();
在此示例中,我们在UPDATE语句中使用了占位符(?)。
通过调用连接对象上的query()方法执行UPDATE语句时,我们将数据以数组的形式传递给UPDATE语句。
占位符将按顺序替换为数据数组中的值。
在此示例中,complete将设置为false,id将设置为1。
回调函数的results参数具有受影响的行属性,该属性返回由UPDATE语句更新的行数。
在执行程序之前,请检查todos表中ID为1的行:
mysql> SELECT * FROM todos WHERE id = 1; +----+-------------------------------+-----------+ | id | title | completed | +----+-------------------------------+-----------+ | 1 | Learn how to insert a new row | 1 | +----+-------------------------------+-----------+ 1 row in set (0.00 sec)
让我们运行update.js程序。
>node update.js Rows affected: 1
程序返回一条消息,指示受影响的行数为1。
我们可以在数据库中再次检查它,如下所示:
mysql> SELECT * FROM todos WHERE id = 1; +----+-------------------------------+-----------+ | id | title | completed | +----+-------------------------------+-----------+ | 1 | Learn how to insert a new row | 0 | +----+-------------------------------+-----------+ 1 row in set (0.00 sec)
如您所见,completed列中的值已更新为0,在node.js中为false
在本教程中,我们向您展示了如何从node.js应用程序更新MySQL中的数据。