摘要:在本教程中,我们将向您展示如何从 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;
Code language: JavaScript (javascript)
config.js
模块包含建立数据库连接所需的信息,包括host
、 user
、 password
和database
。
您需要更改这些值以使其适应 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();
Code language: JavaScript (javascript)
在此示例中,我们在DELETE
语句中使用了占位符 (?)。当我们在connection
对象上调用query()
方法来执行语句时,我们将数据作为第二个参数传递给DELETE
语句。占位符将被输入值替换,因此执行查询时id
将采用值 1。
DELETE FROM todos WHERE id = 1
Code language: JavaScript (javascript)
请注意,如果有多个占位符,则需要向查询传递一个数组,以将数据传递到 SQL 语句。
要获取已删除的行数,您可以访问results
参数的affectedRows
属性。
在执行程序之前,我们先检查一下todos
表中id为1的行:
>node delete.js
Deleted Row(s): 1
Code language: JavaScript (javascript)
删除的行数为1。您可以使用以下SELECT
语句在数据库中验证它:
mysql> SELECT * FROM todos WHERE id = 1;
Empty set (0.00 sec)
Code language: JavaScript (javascript)
如您所见,id 为 1 的行已从todos
表中删除。
在本教程中,您学习了如何从 Node.js 应用程序删除 MySQL 中的数据。
本教程有帮助吗?