शुरू करेंमुफ़्त में शुरू करें

SQLAlchemy के साथ Table से डेटा चुनना

अब तक शानदार काम! अब SQLAlchemy का उपयोग करके अपना पहला select स्टेटमेंट बनाने का समय है. SQLAlchemy डेटाबेस के साथ इंटरैक्ट करने का एक बढ़िया "Pythonic" तरीका देता है. पिछले अभ्यास में जब आपने raw SQL इस्तेमाल किया था, तब आपने सीधे डेटाबेस से क्वेरी की थी. SQLAlchemy इस्तेमाल करते समय आप इसके बजाय Table ऑब्जेक्ट के जरिए जाएँगे, और SQLAlchemy आपकी क्वेरी को आपके लिए उपयुक्त SQL स्टेटमेंट में ट्रांसलेट कर देगा. इस तरह MySQL या PostgreSQL जैसे पारंपरिक SQL के अलग-अलग डाएलेक्ट के फर्क से निपटने के बजाय, आप SQLAlchemy के Pythonic फ्रेमवर्क का लाभ उठाकर अपना वर्कफ़्लो सरल बना सकते हैं और डेटा को अधिक कुशलता से क्वेरी कर सकते हैं. इसी वजह से, भले ही आप पारंपरिक SQL से पहले से परिचित हों, इसे सीखना फायदेमंद है.

इस अभ्यास में, आप फिर से census टेबल से सभी रिकॉर्ड्स क्वेरी करने के लिए एक स्टेटमेंट बनाएँगे. लेकिन इस बार आप sqlalchemy मॉड्यूल के select() फंक्शन का उपयोग करेंगे. इस फंक्शन को एकमात्र आवश्यक आर्ग्युमेंट के रूप में टेबल्स या कॉलम्स की एक लिस्ट चाहिए: जैसे select([my_table]).

आप .fetchmany() के साथ size आर्ग्युमेंट देकर ResultProxy से केवल कुछ रिकॉर्ड्स भी लाएँगे, जो यह तय करेगा कि कितने रिकॉर्ड्स लाने हैं.

Table और MetaData पहले से इम्पोर्ट हैं. मेटाडेटा metadata के रूप में उपलब्ध है और डेटाबेस से कनेक्शन connection के रूप में.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Databases का परिचय

पाठ्यक्रम देखें

अभ्यास निर्देश

  • sqlalchemy मॉड्यूल से select इम्पोर्ट करें.
  • census टेबल को रिफ्लेक्ट करें. यह कोड आपके लिए पहले से लिखा हुआ है.
  • select() फंक्शन का उपयोग करके census टेबल के सभी रिकॉर्ड्स प्राप्त करने के लिए क्वेरी बनाएँ. ऐसा करने के लिए, select() को एक लिस्ट पास करें जिसमें एक ही एलिमेंट हो: census.
  • बन रही वास्तविक SQL क्वेरी देखने के लिए stmt प्रिंट करें. यह कोड आपके लिए लिखा हुआ है.
  • census टेबल से 10 रिकॉर्ड्स फ़ेच करें और उन्हें results में स्टोर करें. ऐसा करने के लिए:
    • ResultProxy प्राप्त करने के लिए connection पर .execute() मेथड का उपयोग करें और आर्ग्युमेंट के रूप में stmt पास करें.
    • ResultSet प्राप्त करने के लिए connection.execute(stmt) पर उपयुक्त size आर्ग्युमेंट के साथ .fetchmany() का उपयोग करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Import select
from ____ import ____

# Reflect census table via engine: census
census = Table('census', metadata, autoload=True, autoload_with=engine)

# Build select statement for census table: stmt
stmt = ____

# Print the emitted statement to see the SQL string
print(stmt)

# Execute the statement on connection and fetch 10 records: result
results = ____.____(____).____(size=___)

# Execute the statement and print the results
print(results)
कोड संपादित करें और चलाएँ