Python SQLite - Drop Table

Vous pouvez supprimer une table entière à l'aide de l'instruction DROP TABLE. Il vous suffit de spécifier le nom de la table à supprimer.

Syntaxe

Voici la syntaxe de l'instruction DROP TABLE dans PostgreSQL -

DROP TABLE table_name;

Exemple

Supposons que nous ayons créé deux tables avec le nom CRICKETERS et EMPLOYEES en utilisant les requêtes suivantes -

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>

Maintenant, si vous vérifiez la liste des tables à l'aide du .tables commande, vous pouvez voir les tables créées ci-dessus (liste) comme -

sqlite> .tables
CRICKETERS EMPLOYEE
sqlite>

L'instruction suivante supprime la table nommée Employee de la base de données -

sqlite> DROP table employee;
sqlite>

Puisque vous avez supprimé la table Employee, si vous récupérez à nouveau la liste des tables, vous ne pouvez y observer qu'une seule table.

sqlite> .tables
CRICKETERS
sqlite>

Si vous essayez de supprimer à nouveau la table des employés, puisque vous l'avez déjà supprimée, vous obtiendrez une erreur indiquant «aucune table de ce type», comme indiqué ci-dessous -

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

Pour résoudre ce problème, vous pouvez utiliser la clause IF EXISTS avec l'instruction DELETE. Cela supprime la table si elle existe sinon ignore l'opération DELETE.

sqlite> DROP table IF EXISTS employee;
sqlite>

Supprimer une table à l'aide de Python

Vous pouvez supprimer une table chaque fois que vous en avez besoin, en utilisant l'instruction DROP de MYSQL, mais vous devez être très prudent lorsque vous supprimez une table existante car les données perdues ne seront pas récupérées après la suppression d'une table.

Exemple

Pour supprimer une table d'une base de données SQLite3 à l'aide de python, appelez le execute() sur l'objet de curseur et passez l'instruction drop en tant que paramètre.

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

Production

Table dropped...