Please note, this is a STATIC archive of website www.w3resource.com from 19 Jul 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
w3resource

Python: Delete a specific row from a given SQLite table

Python SQLite Database: Exercise-11 with Solution

Write a Python program to delete a specific row from a given SQLite table.

Sample Solution:

Python Code :

import sqlite3
from sqlite3 import Error
def sql_connection():
   try:
     conn = sqlite3.connect('mydatabase.db')
     return conn
   except Error:
     print(Error)
def sql_table(conn):
   cursorObj = conn.cursor()
# Create the table
   cursorObj.execute("CREATE TABLE salesman(salesman_id n(5), name char(30), city char(35), commission decimal(7,2));")
# Insert records
   cursorObj.executescript("""
   INSERT INTO salesman VALUES(5001,'James Hoog', 'New York', 0.15);
   INSERT INTO salesman VALUES(5002,'Nail Knite', 'Paris', 0.25);
   INSERT INTO salesman VALUES(5003,'Pit Alex', 'London', 0.15);
   INSERT INTO salesman VALUES(5004,'Mc Lyon', 'Paris', 0.35);
   INSERT INTO salesman VALUES(5005,'Paul Adam', 'Rome', 0.45);
   """)   
   cursorObj.execute("SELECT * FROM salesman")
   rows = cursorObj.fetchall()
   print("Agent details:")
   for row in rows:
       print(row)
   print("\nDelete Salesman of ID 5003:")
   s_id = 5003
   cursorObj.execute("""
   DELETE FROM salesman
   WHERE salesman_id = ?
   """, (s_id,))
   conn.commit()
   cursorObj.execute("SELECT * FROM salesman")
   rows = cursorObj.fetchall()
   print("\nAfter updating Agent details:")
   for row in rows:
       print(row)
sqllite_conn = sql_connection()
sql_table(sqllite_conn)
if (sqllite_conn):
 sqllite_conn.close()
 print("\nThe SQLite connection is closed.")

Sample Output:

Agent details:
(5001, 'James Hoog', 'New York', 0.15)
(5002, 'Nail Knite', 'Paris', 0.25)
(5003, 'Pit Alex', 'London', 0.15)
(5004, 'Mc Lyon', 'Paris', 0.35)
(5005, 'Paul Adam', 'Rome', 0.45)

Delete Salesman of ID 5003:

After updating Agent details:
(5001, 'James Hoog', 'New York', 0.15)
(5002, 'Nail Knite', 'Paris', 0.25)
(5004, 'Mc Lyon', 'Paris', 0.35)
(5005, 'Paul Adam', 'Rome', 0.45)

The SQLite connection is closed.

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program to update all the values of a specific column of a given SQLite table.
Next: Write a Python program to alter a given SQLite table.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Python: Tips of the Day

Find current directory and file's directory:

To get the full path to the directory a Python file is contained in, write this in that file:

import os 
dir_path = os.path.dirname(os.path.realpath(__file__))

(Note that the incantation above won't work if you've already used os.chdir() to change your current working directory, since the value of the __file__ constant is relative to the current working directory and is not changed by an os.chdir() call.)

To get the current working directory use

import os
cwd = os.getcwd()

Documentation references for the modules, constants and functions used above:

  • The os and os.path modules.
  • The __file__ constant
  • os.path.realpath(path) (returns "the canonical path of the specified filename, eliminating any symbolic links encountered in the path")
  • os.path.dirname(path) (returns "the directory name of pathname path")
  • os.getcwd() (returns "a string representing the current working directory")
  • os.chdir(path) ("change the current working directory to path")

Ref: https://bit.ly/3fy0R6m