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

डेटाबेस से टेबल्स को ऑटो-लोड करना

SQLAlchemy, reflection नाम की प्रक्रिया से डेटाबेस से टेबल्स को अपने-आप लोड कर सकता है. Reflection का मतलब है डेटाबेस को पढ़ना और उस जानकारी के आधार पर मेटाडेटा बनाना. यह हाथ से Table बनाने के उलट होता है और मौजूदा डेटाबेस के साथ काम करने में बहुत उपयोगी है.

Reflection करने के लिए, सबसे पहले आपको एक MetaData ऑब्जेक्ट इम्पोर्ट और इनिशियलाइज़ करना होगा. MetaData ऑब्जेक्ट्स में डेटाबेस में रखी टेबल्स की जानकारी होती है. Reflection के दौरान, MetaData ऑब्जेक्ट में रिफ्लेक्ट की गई टेबल की जानकारी अपने-आप भर दी जाती है, इसलिए हमें रिफ्लेक्ट करने से पहले बस MetaData() कॉल करके इसे इनिशियलाइज़ करना होता है.

आपको SQLAlchemy पैकेज से Table ऑब्जेक्ट भी इम्पोर्ट करना होगा. फिर, इसी Table ऑब्जेक्ट का उपयोग करके आप इंजन से अपनी टेबल पढ़ते हैं, कॉलम्स को ऑटो-लोड करते हैं, और मेटाडेटा को पॉप्युलेट करते हैं. यह एक ही Table() कॉल में किया जा सकता है: इस तरह Table ऑब्जेक्ट का उपयोग करना किसी फंक्शन को आर्गुमेंट्स पास करने जैसा है. उदाहरण के लिए, इंजन के साथ कॉलम्स को ऑटो-लोड करने के लिए, आपको Table() में कीवर्ड आर्गुमेंट्स autoload=True और autoload_with=engine देने होते हैं.

आखिर में, अभी बनाए गए ऑब्जेक्ट की जानकारी देखने के लिए आप repr() फंक्शन का उपयोग करेंगे. किसी भी Python ऑब्जेक्ट के लिए, repr() उस ऑब्जेक्ट का टेक्स्ट रूप देता है. SQLAlchemy के Table ऑब्जेक्ट्स के लिए, यह मेटाडेटा में मौजूद उस टेबल की जानकारी लौटाता है.

इस अभ्यास में, आपका काम है engine पर उपलब्ध "census" टेबल को रिफ्लेक्ट करके census नाम के वैरिएबल में रखना. पिछले अभ्यास में आपने जो इंजन बनाया था, उसे क्रिएट करने का कोड हमने पहले से भर रखा है.

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

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

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

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

  • sqlalchemy से Table और MetaData इम्पोर्ट करें.
  • एक MetaData ऑब्जेक्ट बनाएँ: metadata
  • Table ऑब्जेक्ट का उपयोग करके census टेबल को इन आर्गुमेंट्स के साथ रिफ्लेक्ट करें:
    • टेबल का नाम एक स्ट्रिंग के रूप में ('census').
    • अभी इनिशियलाइज़ किया गया metadata.
    • autoload=True
    • ऑटो-लोड के लिए इंजन — यहाँ engine.
  • repr() फंक्शन का उपयोग करके census का विवरण प्रिंट करें.

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

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

# Import create_engine, MetaData, and Table
from sqlalchemy import create_engine, ___, ____

# Create engine: engine
engine = create_engine('sqlite:///census.sqlite')

# Create a metadata object: metadata
metadata = ___

# Reflect census table from the engine: census
census = Table(____, ____, autoload=____, autoload_with=____)

# Print census table metadata
print(____)
कोड संपादित करें और चलाएँ