SQL DROP TABLE

Summary: in this tutorial, you will learn how to use the SQL DROP TABLE statement to remove one or more tables in a database.

Introduction to SQL DROP TABLE statement

As the database evolves, we will need to remove obsolete or redundant tables from the database. To delete a table, we use the DROP TABLE statement.

The following illustrates the syntax of the DROP TABLE statement.

DROP TABLE [IF EXISTS] table_name;Code language: SQL (Structured Query Language) (sql)
SQL Drop Table

To drop an existing table, you specify the name of the table after the DROP TABLE clause. If the table that is being dropped does not exist, the database system issues an error.

To prevent the error of removing a nonexistent table, we use the optional clause IF EXISTS. If we use the IF EXISTS option, the database system will not throw any error if we remove a non-existent table. Some database systems throw a warning or a notice instead.

Notice that not all database systems support the IF EXISTS option. The ones that do support the IF EXISTS option are MySQL, PostgreSQL, and SQL Server 2016.

The DROP TABLE statement removes both data and structure of a table permanently. Some database systems require the table must be empty before it can be removed from the database. This helps you prevent accidentally deleting a table that is still in use.

To delete all data in a table, you can use either the DELETE or TRUNCATE TABLE statement.

To drop a table that is referenced by a foreign key constraint of another table, you must disable or remove the foreign constraint before removing the table.

SQL DROP TABLE examples

Let’s create a new table for practicing the DROP TABLE statement.

The following statement creates a new table named emergency_contacts that stores the emergency contacts of employees.

CREATE TABLE emergency_contacts (
    id INT AUTO_INCREMENT PRIMARY KEY,
    first_name VARCHAR(50) NOT NULL,
    last_name VARCHAR(50) NOT NULL,
    relationship VARCHAR(50) NOT NULL,
    employee_id INT NOT NULL
);Code language: SQL (Structured Query Language) (sql)

The following statement drops the emergency_contacts table:

DROP TABLE emergency_contacts;Code language: SQL (Structured Query Language) (sql)

SQL DROP TABLE – removing multiples tables

The DROP TABLE statement allows you to remove multiple tables at the same time. To do this, you need to specify a list of comma-separated tables after the DROP TABLE clause as follows:

DROP TABLE table_name1,table_name2,...;Code language: SQL (Structured Query Language) (sql)

The database system then deletes all tables one by one.

Summary

  • Use SQL DROP TABLE statement to delete one or more tables from the database.
Was this tutorial helpful ?