حذف رکورد داده در پایگاه داده PostgreSQL
حذف داده
می توانید سوابق موجود در جدول مورد نظر را با استفاده از دستور 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دیدگاه