从Node.js中删除MySQL中的数据

时间:2019-11-20 08:52:40  来源:igfitidea点击:

简介:在本教程中,我们将向您展示如何从node.js应用程序中删除MySQL数据库中的数据。

要从node.js应用程序删除MySQL数据库中的数据,请执行以下步骤:

  • 建立与MySQL数据库的连接。

  • 通过在Connection对象上调用query()方法来执行DELETE语句。

  • 与MySQL数据库服务器断开连接。

要建立与MySQL数据库服务器的连接,我们将使用以下config.js模块:

let config = {
  host    : 'localhost',
  user    : 'root',
  password: '',
  database: 'todoapp'
};

module.exports = config;

config.js模块包含用于建立数据库连接的必要信息,包括主机,用户,密码和数据库。

您需要更改这些值,以使其与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语句中使用了占位符(?)。
当我们在连接对象上调用query()方法以执行该语句时,我们将数据作为第二个参数传递给DELETE语句。
占位符将替换为输入值,因此执行查询时,id将取值1。

DELETE FROM todos WHERE id = 1

请注意,如果您有多个占位符,则需要将数组传递给查询,以将数据传递给SQL语句。

要获取删除的行数,可以访问results参数的受影响的行属性。

在执行程序之前,让我们检查todos表中ID为1的行:

>node delete.js
Deleted Row(s): 1

删除的行数为1。
您可以使用以下SELECT语句在数据库中进行验证:

mysql> SELECT * FROM todos WHERE id = 1;
Empty set (0.00 sec)

如您所见,标识为1的行已从todos表中删除。

在本教程中,您学习了如何从node.js应用程序中删除MySQL中的数据。