Python PostgreSQL - Tabela de descarte

Você pode eliminar uma tabela do banco de dados PostgreSQL usando a instrução DROP TABLE.

Sintaxe

A seguir está a sintaxe da instrução DROP TABLE no PostgreSQL -

DROP TABLE table_name;

Exemplo

Suponha que criamos duas tabelas com o nome CRICKETERS e EMPLOYEES usando as seguintes consultas -

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=#

Agora, se você verificar a lista de tabelas usando o comando “\ dt”, poderá ver as tabelas criadas acima como -

postgres=# \dt;
            List of relations
 Schema | Name       | Type  | Owner
--------+------------+-------+----------
 public | cricketers | table | postgres
 public | employee   | table | postgres
(2 rows)
postgres=#

A declaração a seguir exclui a tabela chamada Employee do banco de dados -

postgres=# DROP table employee;
DROP TABLE

Uma vez que você excluiu a tabela Employee, se você recuperar a lista de tabelas novamente, poderá observar apenas uma tabela nela.

postgres=# \dt;
            List of relations
Schema  | Name       | Type  | Owner
--------+------------+-------+----------
public  | cricketers | table | postgres
(1 row)


postgres=#

Se você tentar deletar a tabela Employee novamente, uma vez que você já a deletou, você receberá um erro dizendo “table does not exist” como mostrado abaixo -

postgres=# DROP table employee;
ERROR: table "employee" does not exist
postgres=#

Para resolver isso, você pode usar a cláusula IF EXISTS junto com a instrução DELTE. Isso remove a tabela se ela existir, caso contrário, ignora a operação DLETE.

postgres=# DROP table IF EXISTS employee;
NOTICE: table "employee" does not exist, skipping
DROP TABLE
postgres=#

Removendo uma tabela inteira usando Python

Você pode descartar uma tabela sempre que precisar, usando a instrução DROP. Mas você precisa ter muito cuidado ao excluir qualquer tabela existente, pois os dados perdidos não serão recuperados após a exclusão de uma tabela.

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

Resultado

#Table dropped...