在本教程中,您将学习如何从node.js应用程序删除MySQL数据库中的数据。
要从node.js应用程序删除数据,请使用以下步骤:
连接到MySQL数据库服务器。
通过在Connection对象上调用query()方法来执行DELETE语句。
关闭数据库连接。
要连接到MySQL数据库,我们将使用以下config.js模块,其中包含MySQL数据库服务器的必要信息,包括主机,用户,密码和数据库。
let
config = {
host : 'localhost',
user : 'root',
password: '123456',
database: 'todoapp'
};
module.exports = config; |
您需要更改这些值以适应MySQL数据库服务器的参数。
删除数据示例
以下delete.js程序根据行的id删除todos表中的一行。
let
mysql = require('mysql');
let config = require('./config.js');
let connection = mysql.createConnection(config);
// DELETE statment
let sql = `DELETE FROM todos WHERE id =
?`;
// delete a row with id 1
connection.query(sql, 1, (error, results,
fields) => {
if (error)
return console.error(error.message);
console.log('Deleted Row(s):', results.affectedRows);
});
connection.end(); |
在这个例子中,我们在DELETE语句中使用了一个占位符(?)。 当我们在connection对象上调用query()方法来执行语句时,将数据作为第二个参数传递给DELETE语句。
占位符将被输入值代替,所以当执行查询时,id将取值为1。
DELETE
FROM todos WHERE id = 1 |
请注意,如果您有多个占位符,则需要将数组传递给查询以将数据传递到SQL语句。
要获取删除的行数,可以访问results参数的affectedRows属性。
在执行程序之前,请先检查todos表中id为1的行,执行上面示例代码如下 -
F:\worksp\mysql\nodejs\nodejs-connect>node
delete.js
openssl config failed: error:02001003:system
library:fopen:No such process
Deleted Row(s): 1 |
删除ID为1的行记录,您可以使用以下SELECT语句在数据库中进行验证:
mysql>
SELECT * FROM todos WHERE id = 1;
Empty set (0.00 sec) |
如您所见,ID为1的行记录已从todos表中删除。
在本教程中,您已经学会了如何从node.js应用程序中删除MySQL中的数据。 |