रिटर्निंग लिस्ट और स्केलर

क्वेरी ऑब्जेक्ट की कई विधियाँ हैं जो तुरंत SQL जारी करती हैं और लोड किए गए डेटाबेस परिणामों से युक्त मान लौटाती हैं।

यहाँ सूची और स्केलर का संक्षिप्त विवरण दिया गया है -

सब()

यह एक सूची देता है। नीचे दिए गए सभी () फ़ंक्शन के लिए कोड की पंक्ति है।

session.query(Customers).all()

पायथन कंसोल प्रदर्शित करता है निम्नलिखित एसक्यूएल अभिव्यक्ति उत्सर्जित -

SELECT customers.id 
AS customers_id, customers.name 
AS customers_name, customers.address 
AS customers_address, customers.email 
AS customers_email
FROM customers

प्रथम()

यह एक की सीमा लागू करता है और पहले परिणाम को स्केलर के रूप में लौटाता है।

SELECT customers.id 
AS customers_id, customers.name 
AS customers_name, customers.address 
AS customers_address, customers.email 
AS customers_email
FROM customers
LIMIT ? OFFSET ?

लिमिट के लिए बाध्य पैरामीटर 1 है और OFFSET के लिए 0 है।

एक()

यह कमांड पूरी तरह से सभी पंक्तियों को प्राप्त करता है, और यदि परिणाम में मौजूद एक वस्तु पहचान या समग्र पंक्ति नहीं है, तो यह एक त्रुटि उठाता है।

session.query(Customers).one()

कई पंक्तियों के साथ -

MultipleResultsFound: Multiple rows were found for one()

कोई पंक्तियाँ नहीं मिलीं -

NoResultFound: No row was found for one()

एक () विधि उन प्रणालियों के लिए उपयोगी है जो "अलग-अलग आइटम नहीं" बनाम "कोई आइटम नहीं मिला" को संभालने की उम्मीद करते हैं।

अदिश ()

यह एक () विधि का आह्वान करता है, और सफलता के बाद पंक्ति का पहला स्तंभ निम्नानुसार लौटता है -

session.query(Customers).filter(Customers.id == 3).scalar()

यह SQL कथन के बाद उत्पन्न होता है -

SELECT customers.id 
AS customers_id, customers.name 
AS customers_name, customers.address 
AS customers_address, customers.email 
AS customers_email
FROM customers
WHERE customers.id = ?