在本教學中,您將學習如何從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中的數據。
上一篇:
MySQL+Python連接和操作
下一篇:無