Menu

SQL DELETE – A Detailed Overview

The SQL DELETE statement is a powerful command that allows you to remove rows from a table in a relational database. This command can be used to delete a single record, multiple records, or all records from a table.

The key thing to note here is that DELETE removes entire rows of data, not individual columns within a row.

Let’s delve deeper into this command, and explore how it works with real-life examples.

What is the SQL DELETE statement?

The DELETE statement is used in SQL to remove one or more rows from a table. The basic syntax for the DELETE statement is

DELETE FROM table_name
WHERE condition;
  • table_name: Represents the name of the table from which you want to delete data.

  • WHERE condition: Specifies the conditions that must be met for rows to be deleted. If you omit the WHERE clause, all rows in the table will be deleted!

Keep in mind, deletion is permanent and you can’t undo a DELETE operation, so be sure to have backup or recovery strategies in place.

Example Setup: Sample Database

For our examples, we will use a simple database table named Students. Here’s the structure of our Students table

CREATE TABLE Students (
    ID int PRIMARY KEY,
    FirstName varchar(50),
    LastName varchar(50),
    GradeLevel int
);

We have four columns: ID, FirstName, LastName, and GradeLevel. The ID column is our primary key, meaning each student will have a unique ID.

Let’s insert some data into our Students table

INSERT INTO Students (ID, FirstName, LastName, GradeLevel)
VALUES
(1, 'John', 'Doe', 10),
(2, 'Jane', 'Doe', 11),
(3, 'Jim', 'Brown', 12),
(4, 'Jill', 'Smith', 10),
(5, 'Jack', 'Johnson', 12);

Now we have five students in our Students table.

1) Deleting a Single Record

Suppose we want to delete the student with ID = 3 from our table. We can accomplish this with the DELETE statement as follows:

DELETE FROM Students 
WHERE ID = 3;

This will remove the row where ID equals 3. Jim Brown is no longer in our Students table.

Output:

ID   FirstName   LastName   GradeLevel
1    John        Doe        10
2    Jane        Doe        11
4    Jill        Smith      10
5    Jack        Johnson    12

2) Deleting Multiple Records

Imagine we need to delete all students in the GradeLevel 10. The following command will accomplish this:

DELETE FROM Students
WHERE GradeLevel = 10;

This operation will delete both John Doe and Jill Smith, as they are in grade 10.

Output:

ID   FirstName   LastName   GradeLevel
2    Jane        Doe        11
5    Jack        Johnson    12

3) Deleting All Records

If you want to delete all records from a table, you can use the DELETE command without a WHERE clause. For example

DELETE FROM Students;

This command will remove all rows in the Students table. Be careful when using this, as you may permanently lose your data!

Conclusion

The SQL DELETE statement is a powerful command for removing data from your SQL tables. Always ensure you are using it cautiously, with the understanding that deleted data may not be recoverable.

If you’re experimenting or learning, it’s always a good idea to work on a copy of your data or ensure you have a backup available. As with any powerful tool, using the DELETE command responsibly is crucial for effective database management.

Course Preview

Machine Learning A-Z™: Hands-On Python & R In Data Science

Free Sample Videos:

Machine Learning A-Z™: Hands-On Python & R In Data Science

Machine Learning A-Z™: Hands-On Python & R In Data Science

Machine Learning A-Z™: Hands-On Python & R In Data Science

Machine Learning A-Z™: Hands-On Python & R In Data Science

Machine Learning A-Z™: Hands-On Python & R In Data Science