Python SQLite - Drop Table


Advertisements

You can remove an entire table using the DROP TABLE statement. You just need to specify the name of the table you need to delete.

Syntax

Following is the syntax of the DROP TABLE statement in PostgreSQL −

DROP TABLE table_name;

Example

Assume we have created two tables with name CRICKETERS and EMPLOYEES using the following queries −

sqlite> CREATE TABLE CRICKETERS (
   First_Name VARCHAR(255), Last_Name VARCHAR(255), Age int, 
   Place_Of_Birth VARCHAR(255), Country VARCHAR(255)
);
sqlite> CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT, 
   SEX CHAR(1), INCOME FLOAT
);
sqlite>

Now if you verify the list of tables using the .tables command, you can see the above created tables in it ( list) as −

sqlite> .tables
CRICKETERS EMPLOYEE
sqlite>

Following statement deletes the table named Employee from the database −

sqlite> DROP table employee;
sqlite>

Since you have deleted the Employee table, if you retrieve the list of tables again, you can observe only one table in it.

sqlite> .tables
CRICKETERS
sqlite>

If you try to delete the Employee table again, since you have already deleted it you will get an error saying “no such table” as shown below −

sqlite> DROP table employee;
Error: no such table: employee
sqlite>

To resolve this, you can use the IF EXISTS clause along with the DELTE statement. This removes the table if it exists else skips the DLETE operation.

sqlite> DROP table IF EXISTS employee;
sqlite>

Dropping a table using Python

You can drop a table whenever you need to, using the DROP statement of MYSQL, but you need to be very careful while deleting any existing table because the data lost will not be recovered after deleting a table.

Example

To drop a table from a SQLite3 database using python invoke the execute() method on the cursor object and pass the drop statement as a parameter to it.

import sqlite3

#Connecting to sqlite
conn = sqlite3.connect('example.db')

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Doping EMPLOYEE table if already exists
cursor.execute("DROP TABLE emp")
print("Table dropped... ")

#Commit your changes in the database
conn.commit()

#Closing the connection
conn.close()

Output

Table dropped...
Advertisements