عملکرد Select در پایگاه داده PostgreSQL

  • مدرس: علی بیگدلی
  • تاریخ انتشار: 1402/05/05
  • تعداد بازدید: 125

استفاده از SELECT در انتخاب داده

با استفاده از دستور SELECT می توانید محتویات جدول موجود را در PostgreSQL بازیابی کنید. در این عبارت ، شما باید نام جدول را مشخص کنید و ،که محتویات موارد شخص شده را به شما نمایش  و برمی گرداند.
در زیر نحو استفاده از SELECT در PostgreSQL آورده شده است:

SELECT column1, column2, columnN FROM table_name;

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

عملیات READ بر روی هر پایگاه داده به معنای واکشی اطلاعات مفید از پایگاه داده است. با استفاده از روش fetch () ارائه شده توسط psycopg2 می توانید داده ها را از PostgreSQL واکشی کنید.

کلاس Cursor سه روش را ارائه می دهد: fetchall () ، fetchmany () و fetchone () که در آن ،

  • روش fetchall () تمام سطرهای مجموعه نتیجه یک query را بازیابی می کند و آنها را به عنوان tuples برمی گرداند. (اگر پس از بازیابی چند ردیف این مورد را اجرا کنیم ، آن قسمت های باقی مانده را برمی گرداند).
  • روش fetchone () در نتیجه query ردیف بعدی را می گیرد و آن را به صورت تاپل برمی گرداند.
  • روش fetchmany () شبیه fetchone () است ، اما به جای یک ردیف ، مجموعه بعدی ردیف ها را در مجموعه نتایج جستجو می کند.

مثال

برنامه پایتون زیر به یک پایگاه داده به نام mydb از PostgreSQL متصل می شود و تمام رکوردها را از جدولی به نام 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 false
conn.autocommit = True

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

# Retrieving data
cursor.execute('''SELECT * from EMPLOYEE''')

# Fetching 1st row from the table
result = cursor.fetchone()
print(result)

# Fetching 1st row from the table
result = cursor.fetchall()
print(result)

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

# Closing the connection
conn.close()

خروجی:

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