Node.js+MySQL刪除資料

2019-10-18 00:54:43

在本教學中,您將學習如何從node.js應用程式刪除MySQL資料庫中的資料。

要從node.js應用程式刪除資料,請使用以下步驟:

要連線到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表中id1的行,執行上面範例程式碼如下 -

F:\worksp\mysql\nodejs\nodejs-connect>node delete.js
openssl config failed: error:02001003:system library:fopen:No such process
Deleted Row(s): 1

刪除ID1的行記錄,您可以使用以下SELECT語句在資料庫中進行驗證:

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

如您所見,ID1的行記錄已從todos表中刪除。

在本教學中,您已經學會了如何從node.js應用程式中刪除MySQL中的資料。