Open In App

SQL DELETE Statement

Last Updated : 06 Nov, 2025
Comments
Improve
Suggest changes
82 Likes
Like
Report

The SQL DELETE statement is used to remove specific rows from a table while keeping the table structure intact. It is different from DROP, which deletes the entire table.

  • It removes rows based on conditions.
  • Retains table schema, constraints, and indexes.
  • Can delete a single row or all rows.

Example: First, we will create a demo SQL database and table, on which we will use the SQL DELETE command.

Del

Query:

DELETE FROM Employees
WHERE EmployeeID = 5;

Output:

Deleted-row-
  • This query deletes the row from the Employees table where the EmployeeID is 5.
  • Only that specific record is removed; all other rows remain unchanged.

Syntax:

DELETE FROM table_name 
WHERE some_condition;
  • Some_condition: A condition used to filter the rows you want to delete.
  • table_name: The name of the table from which you want to delete the rows.

Note: We can delete single or multiple records using the WHERE clause; if it’s omitted, all records in the table are removed.

Examples of SQL DELETE Statement

Assume we have created a table named GFG_Employee in SQL, which contains the personal details of the Employee including their id, name, email and department etc. as shown below.

CREATE TABLE GFG_Employees (
id INT PRIMARY KEY,
name VARCHAR (20) ,
email VARCHAR (25),
department VARCHAR(20)
);

INSERT INTO GFG_Employees (id, name, email, department) VALUES
(1, 'Jessie', '[email protected]', 'Development'),
(2, 'Praveen', '[email protected]', 'HR'),
(3, 'Bisa', '[email protected]', 'Sales'),
(4, 'Rithvik', '[email protected]', 'IT'),
(5, 'Suraj', '[email protected]', 'Quality Assurance'),
(6, 'Om', '[email protected]', 'IT'),
(7, 'Naruto', '[email protected]', 'Development');

Select * From GFG_Employees

Output:

GFG_employee

Example 1: Deleting Single Record

We can use the DELETE statement with a condition to delete a specific row from a table. The WHERE clause ensures only the intended record is removed. We can delete the records named Rithvik by using the below query:

Query:

DELETE FROM GFG_Employees 
WHERE NAME = 'Rithvik';

Output:

deleted-info

Example 2: Deleting Multiple Records

To delete multiple records, you can specify a condition that matches several rows. Let's delete the rows from the table  GFG_Employees where the department is "Development". This will delete 2 rows (the first row and the seventh row).

Query:

DELETE FROM GFG_Employees 
WHERE department = 'Development';

Output

department

Example 3: Delete All Records from a Table

If we need to delete all records from the table, we can omit the WHERE clause, or alternatively use the DELETE statement with an asterisk (*) to denote all rows.

Query:

DELETE FROM GFG_Employees;
Or
DELETE * FROM GFG_Employees;

Output:

empty

All of the records in the table will be deleted, there are no records left to display. The table GFG_Employees  will become empty.

Rolling Back DELETE Operations

Since the DELETE statement is a DML operation, it can be rolled back when executed in a statement. If you accidentally delete records or need to repeat the process, you can use the ROLLBACK command.

Query:

START TRANSACTION;
DELETE FROM GFG_Employees WHERE department = 'Development';
-- If needed, you can rollback the deletion
ROLLBACK;

Explanation: The ROLLBACK command will undo the changes made by the DELETE statement, effectively restoring the records that were deleted during the transaction.


Article Tags :

Explore