Python PostgreSQL - Tabloyu düşür
DROP TABLE deyimini kullanarak PostgreSQL veritabanından bir tablo bırakabilirsiniz.
Sözdizimi
PostgreSQL'de DROP TABLE deyiminin sözdizimi aşağıdadır -
DROP TABLE table_name;
Misal
Aşağıdaki sorguları kullanarak CRICKETERS ve EMPLOYEES adında iki tablo oluşturduğumuzu varsayalım -
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=#
Şimdi "\ dt" komutunu kullanarak tablo listesini doğrularsanız, yukarıda oluşturulan tabloları şu şekilde görebilirsiniz -
postgres=# \dt;
List of relations
Schema | Name | Type | Owner
--------+------------+-------+----------
public | cricketers | table | postgres
public | employee | table | postgres
(2 rows)
postgres=#
Aşağıdaki ifade, Employee adlı tabloyu veritabanından siler -
postgres=# DROP table employee;
DROP TABLE
Çalışan tablosunu sildiğiniz için, tabloların listesini yeniden alırsanız, içinde yalnızca bir tablo görebilirsiniz.
postgres=# \dt;
List of relations
Schema | Name | Type | Owner
--------+------------+-------+----------
public | cricketers | table | postgres
(1 row)
postgres=#
Çalışan tablosunu tekrar silmeye çalışırsanız, zaten silmiş olduğunuz için, aşağıda gösterildiği gibi "tablo yok" diyen bir hata alırsınız -
postgres=# DROP table employee;
ERROR: table "employee" does not exist
postgres=#
Bunu çözmek için, DELTE ifadesiyle birlikte IF EXISTS yan tümcesini kullanabilirsiniz. Bu, eğer varsa tabloyu kaldırır, aksi takdirde DLETE işlemini atlar.
postgres=# DROP table IF EXISTS employee;
NOTICE: table "employee" does not exist, skipping
DROP TABLE
postgres=#
Python kullanarak bir tablonun tamamını kaldırma
DROP deyimini kullanarak ihtiyacınız olduğunda bir tablo bırakabilirsiniz. Ancak var olan herhangi bir tabloyu silerken çok dikkatli olmalısınız çünkü kaybolan veriler bir tablo silindikten sonra kurtarılmayacaktır.
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()
Çıktı
#Table dropped...