فیلتر سازی با where در پایگاه داده PostgreSQL

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

استفاده از Where در query

هنگام انجام عملیات SELECT ، UPDATE یا ، DELETE ، می توانید شرط را فیلتر کنید تا رکوردها با استفاده از بند WHERE فیلتر شوند. این عملیات بر روی سوابقی انجام می شود که شرایط داده شده را برآورده می کند.

در زیر نمونه ای از نحوه استفاده از  WHERE در PostgreSQL آورده شده است:

SELECT column1, column2, columnN FROM table_name WHERE [search_condition]

با استفاده از عملگرهای مقایسه ای یا منطقی می توانید یک شرایط_جستجو را تعیین کنید. مانند> ، <، = ، مانند ، نه ، و غیره. مثالهای زیر این مفهوم را روشن می کند.

استفاده از WHERE در پایتون

برای واکشی رکوردهای خاص از جدول با استفاده از برنامه python ، دستور SELECT را با جمله WHERE اجرا کنید ، و آن را به عنوان یک پارامتر به متد ()execute کنید.

مثال

به عنوان مثال نمونه زیر استفاده از دستور WHERE در پایتون را نشان می دهد.

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

# Doping EMPLOYEE table if already exists.
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
sql = '''CREATE TABLE EMPLOYEE(
	   FIRST_NAME CHAR(20) NOT NULL,
	   LAST_NAME CHAR(20),
	   AGE INT,
	   SEX CHAR(1),
	   INCOME FLOAT
	)'''
cursor.execute(sql)

# Populating the table
insert_stmt = "INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, GENDER, INCOME)
VALUES ( % s, % s, % s, % s, % s)"
data = [('Krishna', 'Sharma', 19, 'M', 2000),
        ('Raj', 'Kandukuri', 20, 'M', 7000),
        ('Ramya', 'Ramapriya', 25, 'M', 5000),
        ('Mac', 'Mohan', 26, 'M', 2000)]
cursor.executemany(insert_stmt, data)

# Retrieving specific records using the where clause
cursor.execute("SELECT * from EMPLOYEE WHERE AGE <23")
print(cursor.fetchall())

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

# Closing the connection
conn.close()

خروجی:

[('Krishna', 'Sharma', 19, 'M', 2000.0), ('Raj', 'Kandukuri', 20, 'M', 7000.0)]