पायथन पोस्टग्रेक्सेल - जहां क्लॉज है
SELECT, UPDATE या DELETE संचालन करते समय, आप WHERE क्लॉज का उपयोग करके रिकॉर्ड फ़िल्टर करने के लिए शर्त निर्दिष्ट कर सकते हैं। ऑपरेशन उन अभिलेखों पर किया जाएगा जो दी गई स्थिति को संतुष्ट करते हैं।
वाक्य - विन्यास
PostgreSQL में WHERE क्लॉज का वाक्य विन्यास निम्नलिखित है -
SELECT column1, column2, columnN
FROM table_name
WHERE [search_condition]
आप तुलना या तार्किक ऑपरेटरों का उपयोग करके एक search_condition निर्दिष्ट कर सकते हैं। जैसे>, <, =, LIKE, NOT, आदि निम्नलिखित उदाहरण इस अवधारणा को स्पष्ट करेंगे।
उदाहरण
मान लें कि हमने निम्नलिखित क्वेरी का उपयोग करके CRICKETERS नाम के साथ एक तालिका बनाई है -
postgres=# CREATE TABLE CRICKETERS (
First_Name VARCHAR(255), Last_Name VARCHAR(255), Age int,
Place_Of_Birth VARCHAR(255), Country VARCHAR(255)
);
CREATE TABLE
postgres=#
और अगर हमने INSERT कथनों का उपयोग करते हुए इसमें 5 रिकॉर्ड डाले हैं -
postgres=# insert into CRICKETERS values('Shikhar', 'Dhawan', 33, 'Delhi', 'India');
INSERT 0 1
postgres=# insert into CRICKETERS values('Jonathan', 'Trott', 38, 'CapeTown', 'SouthAfrica');
INSERT 0 1
postgres=# insert into CRICKETERS values('Kumara', 'Sangakkara', 41, 'Matale', 'Srilanka');
INSERT 0 1
postgres=# insert into CRICKETERS values('Virat', 'Kohli', 30, 'Delhi', 'India');
INSERT 0 1
postgres=# insert into CRICKETERS values('Rohit', 'Sharma', 32, 'Nagpur', 'India');
INSERT 0 1
चयन विवरण के बाद उन अभिलेखों को पुनः प्राप्त किया जाता है जिनकी आयु 35 से अधिक है -
postgres=# SELECT * FROM CRICKETERS WHERE AGE > 35;
first_name | last_name | age | place_of_birth | country
------------+------------+-----+----------------+-------------
Jonathan | Trott | 38 | CapeTown | SouthAfrica
Kumara | Sangakkara | 41 | Matale | Srilanka
(2 rows)
postgres=#
जहां क्लाज पायथन का उपयोग कर रहा है
पायथन प्रोग्राम का उपयोग करते हुए एक टेबल से विशिष्ट रिकॉर्ड लाने के लिए WHERE क्लॉज के साथ SELECT स्टेटमेंट को निष्पादित करें , इसे एक पैरामीटर के रूप में पास करके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 false
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, SEX, 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)]