Python PostgreSQL - Déposer une table
Vous pouvez supprimer une table de la base de données PostgreSQL à l'aide de l'instruction DROP TABLE.
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 -
postgres=# CREATE TABLE CRICKETERS (
First_Name VARCHAR(255), Last_Name VARCHAR(255), Age int,
Place_Of_Birth VARCHAR(255), Country VARCHAR(255)
);
CREATE TABLE
postgres=#
postgres=# CREATE TABLE EMPLOYEE(
FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT,
SEX CHAR(1), INCOME FLOAT
);
CREATE TABLE
postgres=#
Maintenant, si vous vérifiez la liste des tables à l'aide de la commande «\ dt», vous pouvez voir les tables créées ci-dessus comme -
postgres=# \dt;
List of relations
Schema | Name | Type | Owner
--------+------------+-------+----------
public | cricketers | table | postgres
public | employee | table | postgres
(2 rows)
postgres=#
L'instruction suivante supprime la table nommée Employee de la base de données -
postgres=# DROP table employee;
DROP TABLE
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.
postgres=# \dt;
List of relations
Schema | Name | Type | Owner
--------+------------+-------+----------
public | cricketers | table | postgres
(1 row)
postgres=#
Si vous essayez de supprimer à nouveau la table des employés, puisque vous l'avez déjà supprimée, vous obtiendrez une erreur indiquant «la table n'existe pas» comme indiqué ci-dessous -
postgres=# DROP table employee;
ERROR: table "employee" does not exist
postgres=#
Pour résoudre ce problème, vous pouvez utiliser la clause IF EXISTS avec l'instruction DELTE. Cela supprime la table si elle existe sinon ignore l'opération DLETE.
postgres=# DROP table IF EXISTS employee;
NOTICE: table "employee" does not exist, skipping
DROP TABLE
postgres=#
Supprimer une table entière à l'aide de Python
Vous pouvez supprimer une table chaque fois que vous en avez besoin, à l'aide de l'instruction DROP. Mais vous devez être très prudent lors de la suppression d'une table existante car les données perdues ne seront pas récupérées après la suppression d'une table.
import psycopg2
#establishing the connection
conn = psycopg2.connect(
database="mydb", user='postgres', password='password', host='127.0.0.1', port= '5432'
)
#Setting auto commit false
conn.autocommit = True
#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...