MySQL Delete

Node.js, paired with MySQL, forms a potent combination for building dynamic, database-driven applications. One of the crucial operations you’ll need to master when working with databases is deleting records. In this guide, we’ll delve into how to delete records from a MySQL database using Node.js, and understand the structure and utility of the result object returned by the delete operation. This knowledge is essential for maintaining the integrity and relevance of your database content.

Delete Record

Deleting a record from a MySQL database using Node.js is straightforward, thanks to the mysql package. This package provides a seamless interface for interacting with MySQL databases directly from Node.js. Before diving into the code, ensure that you have the mysql package installed in your project. If not, you can install it using npm:

npm install mysql

Once the package is installed, you can use the following steps and code snippet to delete a record from your database:

  1. Establish a Connection: First, create a connection to your MySQL database by specifying details such as the host, user, password, and database name.
  2. Execute the Delete Statement: Use the connection.query() method to execute a DELETE statement. This statement should specify which record(s) to delete, typically using a condition to identify the target record(s).

Here’s an example that demonstrates how to delete a record:

const mysql = require('mysql');

// Create a connection to the database
const connection = mysql.createConnection({
  host: 'localhost',
  user: 'your_username',
  password: 'your_password',
  database: 'your_database_name'

// Connect to the database
connection.connect(err => {
  if (err) throw err;
  console.log('Connected to the database');

  // Delete a record
  const query = 'DELETE FROM your_table_name WHERE condition = value';

  connection.query(query, (err, result) => {
    if (err) throw err;
    console.log('Record deleted:', result.affectedRows);

  // Close the connection

In this example, replace 'your_username', 'your_password', 'your_database_name', 'your_table_name', and 'condition = value' with your actual database credentials, table name, and the condition that identifies the record(s) you wish to delete.

The Result Object

When a DELETE operation is performed, MySQL returns a result object. This object provides valuable information about the outcome of the operation. For deletion operations, two properties of this object are particularly noteworthy:

  • affectedRows: This property tells you how many rows were affected (i.e., deleted) by the operation. It’s useful for confirming that your DELETE statement worked as intended.
  • changedRows: While not directly relevant to deletions, this property indicates how many rows were “changed” by an operation. For DELETE operations, it will usually be 0 since it’s more relevant for UPDATE statements.

Understanding the structure and significance of the result object can help you debug and ensure your database operations are performing as expected.


Mastering how to effectively delete records and interpret the result object in Node.js applications using MySQL is crucial for managing your database’s data integrity and relevance. Remember, while deleting data is powerful, it should be used cautiously to avoid unintended data loss. Always ensure your delete conditions are accurate and consider implementing soft delete mechanisms for critical data that might need to be retained or audited later.