Skip to content

DROP Tables

The DROP statement is used to delete database objects such as tables, databases, indexes, etc. This chapter introduces how to use the DROP statement.

Drop Tables

Basic Syntax

sql
DROP TABLE table_name;

Drop Single Table

sql
-- Drop table
DROP TABLE users;

-- Drop if exists
DROP TABLE IF EXISTS users;

Drop Multiple Tables

sql
-- Drop multiple tables at once
DROP TABLE users, orders, products;

Drop Database

sql
-- Drop database
DROP DATABASE mydb;

-- Drop if exists
DROP DATABASE IF EXISTS mydb;

DROP vs TRUNCATE vs DELETE

OperationDROPTRUNCATEDELETE
RemovesStructure+DataData onlyData only
SpeedFastVery fastSlow
RollbackNoNoYes
WHERENoNoYes
TriggersNoNoYes

Drop Index

sql
-- Drop index
DROP INDEX idx_name ON users;

-- MySQL syntax
ALTER TABLE users DROP INDEX idx_name;

Drop View

sql
-- Drop view
DROP VIEW view_name;

-- Drop if exists
DROP VIEW IF EXISTS view_name;

Practical Examples

Clean Temporary Tables

sql
-- Drop temporary table
DROP TEMPORARY TABLE IF EXISTS temp_users;

Rebuild Table

sql
-- Drop and recreate table
DROP TABLE IF EXISTS users;
CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50)
);

Precautions

  1. DROP is irreversible
  2. Always backup before dropping
  3. Check foreign key dependencies
  4. Use IF EXISTS to avoid errors

Best Practices

sql
-- 1. Check if table exists
SHOW TABLES LIKE 'users';

-- 2. Backup data
CREATE TABLE users_backup AS SELECT * FROM users;

-- 3. Drop table
DROP TABLE IF EXISTS users;

Summary

  • DROP TABLE: Delete table
  • DROP DATABASE: Delete database
  • DROP INDEX: Delete index
  • IF EXISTS: Avoid errors
  • Irreversible, use with caution

Next Step: Learn CONSTRAINTS

Content is for learning and research only.