به روز رسانی جدول در پایگاه داده PostgreSQL
به روزرسانی جدول
با استفاده از دستور UPDATE می توانید محتویات سوابق موجود در یک جدول را در PostgreSQL اصلاح کنید. برای به روزرسانی ردیف های خاص ، باید از بند WHERE به همراه آن استفاده کنید.
دستور زیر نمایانگر استفاده از UPDATE در PostgreSQL است:
UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
به روزرسانی سوابق با استفاده از پایتون
کلاس مکان نما از psycopg2 متدی با نام execute() را اجرا می کند. این روش query را به عنوان یک پارامتر می پذیرد و آن را اجرا می کند.
بنابراین ، برای قرار دادن داده ها در جدول در PostgreSQL با استفاده از پایتون:
- ماژول psycopg2 را وارد کنید.
- با استفاده از روش connect() ، با عبور از نام کاربر ، رمز عبور ، میزبان (پیش فرض اختیاری: localhost) و پایگاه داده (اختیاری) به عنوان پارامترهای آن ، یک شی object اتصال ایجاد کنید.
- با تنظیم false به عنوان مقدار auto-commit ، حالت autocommit خودکار را خاموش کنید.
- روش cursor () کلاس اتصال کتابخانه psycopg2 یک شی مکان نما را برمی گرداند. با استفاده از این روش یک مکان نما ایجاد کنید.
- سپس ، دستور UPDATE را با دادن آن به عنوان یک پارامتر به روش ()execute ، اجرا کنید.
مثال
در مثال زیر جدول مربوط به EMPLOYEE را بروزرسانی می کند:
import psycopg2
# establishing the connection
conn = psycopg2.connect(
database="mydb", user='postgres', password='password', host='127.0.0.1', port='5432'
)
# Setting auto commit True
conn.autocommit = True
# Creating a cursor object using the cursor() method
cursor = conn.cursor()
# Fetching all the rows before the update
print("Contents of the Employee table: ")
sql = '''SELECT * from EMPLOYEE'''
cursor.execute(sql)
print(cursor.fetchall())
# Updating the records
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = 'M'"
cursor.execute(sql)
print("Table updated...... ")
# Fetching all the rows after the update
print("Contents of the Employee table after the update operation: ")
sql = '''SELECT * from EMPLOYEE'''
cursor.execute(sql)
print(cursor.fetchall())
# Commit your changes in the database
conn.commit()
# Closing the connection
conn.close()
خروجی:
Contents of the Employee table:
[('Ramya', 'Rama priya', 27, 'F', 9000.0),
('Vinay', 'Battacharya', 20, 'M', 6000.0),
('Sharukh', 'Sheik', 25, 'M', 8300.0),
('Sarmista', 'Sharma', 26, 'F', 10000.0),
('Tripthi', 'Mishra', 24, 'F', 6000.0)]
Table updated......
Contents of the Employee table after the update operation:
[('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)]
ثبت دیدگاه
0دیدگاه