Python SQLite - Deleting Data in Table
Last Updated :
01 Jul, 2025
Improve
Deleting data in SQLite is achieved using the DELETE statement, which can optionally be combined with a WHERE clause to specify which rows to delete.
Syntax
DELETE FROM table_name [WHERE Clause]
- table_name: The name of the table from which you want to delete data.
- WHERE condition: This is optional. It specifies the condition for which rows to delete. If omitted, all rows will be deleted from the table.
First, we need to create a database and table to demonstrate DELETE clause, here's how we can do it:
import sqlite3
# Connecting to sqlite (creates 'geek.db' if it doesn't exist)
connection_obj = sqlite3.connect('geek.db')
# Create a cursor object
cursor_obj = connection_obj.cursor()
# Drop the table if it already exists (to start fresh)
cursor_obj.execute("DROP TABLE IF EXISTS GEEK")
# Create the GEEK table
table = """
CREATE TABLE GEEK (
Email VARCHAR(255) NOT NULL,
Name CHAR(25) NOT NULL,
Score INT
);
"""
cursor_obj.execute(table)
# Insert some data into the GEEK table
data = [
("geekk1@gmail.com", "Geek1", 25),
("geekk2@gmail.com", "Geek2", 15),
("geekk3@gmail.com", "Geek3", 36),
("geekk4@gmail.com", "Geek4", 27),
("geekk5@gmail.com", "Geek5", 40),
("geekk6@gmail.com", "Geek6", 14),
("geekk7@gmail.com", "Geek7", 10)
]
cursor_obj.executemany("INSERT INTO GEEK (Email, Name, Score) VALUES (?, ?, ?)", data)
# Commit changes to the database
connection_obj.commit()
# Close the connection
connection_obj.close()
Output:
Deleting Data from the Table
Now let's look at how to delete data from the GEEK table. We'll cover two examples: deleting specific rows based on a condition and deleting all rows.
Example 1: Delete Rows with Condition
In this example, we'll delete rows where the Score is less than 15.
import sqlite3
# Connecting to sqlite
connection_obj = sqlite3.connect('geek.db')
# cursor object
cursor_obj = connection_obj.cursor()
#delete data
cursor_obj.execute("DELETE FROM GEEK WHERE Score < 15")
connection_obj.commit()
# Close the connection
connection_obj.close()
Output:
Example 2: Delete All Rows
In this example, we'll delete all the rows from the GEEK table.
import sqlite3
# Connecting to sqlite
connection_obj = sqlite3.connect('geek.db')
# Create a cursor object
cursor_obj = connection_obj.cursor()
# Display all data before deletion
cursor_obj.execute("SELECT * FROM GEEK")
print("Data before deletion:")
print(cursor_obj.fetchall())
# Delete all rows from the table
cursor_obj.execute("DELETE FROM GEEK")
# Commit changes to the database
connection_obj.commit()
# Display all data after deletion
cursor_obj.execute("SELECT * FROM GEEK")
print("\nData after deletion:")
print(cursor_obj.fetchall())
# Close the connection
connection_obj.close()
Output:
