حذف رکورد داده در پایگاه داده PostgreSQL

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Feb 10, 2021

حذف داده

می توانید سوابق موجود در جدول مورد نظر را با استفاده از دستور DELETE FROM از پایگاه داده PostgreSQL حذف کنید. برای حذف سوابق خاص ، باید از بند WHERE به همراه آن استفاده کنید.
در زیر نمونه ای از نحو استفاده از دستور DELETE در PostgreSQL آورده شده است:

DELETE FROM table_name [WHERE Clause]	

حذف داده ها با استفاده از پایتون

کلاس مکان نما از psycopg2 متدی با نام execute() را می کند. این روش query را به عنوان یک پارامتر می پذیرد و آن را اجرا می کند.

بنابراین ، برای قرار دادن داده ها در جدول در PostgreSQL با استفاده از پایتون

  • ماژول psycopg2 را وارد کنید.
  • با استفاده از روش connect() ، با عبور از نام کاربر ، رمز عبور ، میزبان (پیش فرض اختیاری: localhost) و پایگاه داده (اختیاری) به عنوان پارامترهای آن ، یک شی object اتصال ایجاد کنید.
  • با تنظیم false به عنوان مقدار auto-commit ، حالت autocommit خودکار را خاموش کنید.
  • روش cursor () کلاس اتصال کتابخانه psycopg2 یک شی مکان نما را برمی گرداند. با استفاده از این روش یک مکان نما ایجاد کنید.
  • سپس ، دستور DELETE را با درج آن به عنوان یک پارامتر در execute() ، اجرا کنید.

مثال
در زیر کد پایتون سوابق جدول EMPLOYEE با مقادیر سنی بیشتر از 25 حذف می شود:

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

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

# Retrieving contents of the table
print("Contents of the table: ")
cursor.execute('''SELECT * from EMPLOYEE''')
print(cursor.fetchall())

# Deleting records
cursor.execute('''DELETE FROM EMPLOYEE WHERE AGE > 25''')

# Retrieving data after delete
print("Contents of the table after delete operation ")
cursor.execute("SELECT * from EMPLOYEE")
print(cursor.fetchall())

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

# Closing the connection
conn.close()

خروجی:

Contents of the table:
[('Ramya', 'Rama priya', 27, 'F', 9000.0),
 ('Sarmista', 'Sharma', 26, 'F', 10000.0),
 ('Tripthi', 'Mishra', 24, 'F', 6000.0),
 ('Vinay', 'Battacharya', 21, 'M', 6000.0),
 ('Sharukh', 'Sheik', 26, 'M', 8300.0)]
Contents of the table after delete operation:
[('Tripthi', 'Mishra', 24, 'F', 6000.0),
 ('Vinay', 'Battacharya', 21, 'M', 6000.0)]

 

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
0دیدگاه