DROP TABLE is an SQL command used to permanently remove a specified table from an SQLite database. It also removes associated indexes and triggers, so use it carefully.
Syntax
DROP TABLE table_name;
1. Creating Sample Table
First, create a database connection and an employees table containing sample records. This setup provides a table to use in the subsequent examples.
Python
import sqlite3
connection = sqlite3.connect("company.db")
cursor = connection.cursor()
cursor.execute("DROP TABLE IF EXISTS employees")
cursor.execute("""
CREATE TABLE employees (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
salary REAL
)
""")
employees = [
(1, "Aditi", 42000),
(2, "Rahul", 65000),
(3, "Neha", 72000)
]
cursor.executemany(
"INSERT INTO employees (id, name, salary) VALUES (?, ?, ?)",
employees
)
connection.commit()
connection.close()
print("Table created successfully.")
Output
Table created successfully.
Explanation:
- sqlite3.connect() opens company.db or creates it if it does not exist.
- DROP TABLE IF EXISTS employees removes any previous version of the sample table so the example can be run again.
- CREATE TABLE defines the employees table and its columns.
- executemany() inserts the sample records using parameter placeholders.
- commit() saves the changes, and close() closes the connection.
2. Dropping Existing Table
After creating the table, execute DROP TABLE to remove it from the database.
Python
import sqlite3
connection = sqlite3.connect("company.db")
cursor = connection.cursor()
cursor.execute("DROP TABLE employees")
connection.commit()
connection.close()
print("Table dropped successfully.")
Output
Table dropped successfully.
Explanation:
- sqlite3.connect() opens the database containing the employees table.
- cursor.execute() executes the DROP TABLE statement.
- commit() commits the database changes.
- close() releases the database connection.
3. Dropping Table Only If it Exists
When a table may already have been removed, use DROP TABLE IF EXISTS to avoid an error caused by its absence.
Python
import sqlite3
connection = sqlite3.connect("company.db")
cursor = connection.cursor()
cursor.execute("DROP TABLE IF EXISTS employees")
connection.commit()
connection.close()
print("Table removal completed.")
Output
Table removal completed.
Explanation:
- DROP TABLE IF EXISTS employees removes the table if it exists.
- If the table is already absent, SQLite skips the operation without raising the usual missing-table error.
- Statement makes database cleanup scripts easier to run repeatedly.
4. Verifying Whether Table was Dropped
We can query SQLite's system catalog to check whether the employees table still exists.
Python
import sqlite3
connection = sqlite3.connect("company.db")
cursor = connection.cursor()
cursor.execute("""
SELECT name
FROM sqlite_master
WHERE type = 'table' AND name = ?
""", ("employees",))
result = cursor.fetchone()
print("Table exists:", result is not None)
connection.close()