Python SQLite - DROP Table - GeeksforGeeks

Python SQLite - DROP Table

Last Updated : 4 Nov, 2026

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()

Output

Table Exists: False

Explanation:

  • sqlite_master stores metadata about database objects, including tables.
  • SELECT statement searches for a table named employees.
  • fetchone() returns a row if the table exists or None if no matching row is found.
  • Boolean expression prints False when the table has been removed.
Comment