टेबल से डेटा चुनना: raw SQL
जैसा आपने वीडियो में देखा, डेटाबेस के डेटा को एक्सेस और मैनिपुलेट करने के लिए हमें पहले इंजन पर .connect() मेथड का उपयोग करके उससे कनेक्शन बनाना होगा। ऐसा इसलिए है क्योंकि create_engine() फंक्शन, जिसका आपने पहले उपयोग किया था, इंजन का एक इंस्टैंस तो लौटाता है, लेकिन वास्तव में कनेक्शन तब तक नहीं खोलता जब तक कोई ऐसा एक्शन कॉल न किया जाए जिसे कनेक्शन की जरूरत हो, जैसे कि एक क्वेरी.
SQL के बारे में अभी सीखी बातों का उपयोग करते हुए और अपने कनेक्शन पर .execute() मेथड लगाकर, हम raw SQL क्वेरी से अपनी census टेबल के सभी रिकॉर्ड्स क्वेरी कर सकते हैं। .execute() मेथड द्वारा लौटाया गया ऑब्जेक्ट एक ResultProxy होता है। इस ResultProxy पर, हम .fetchall() मेथड का उपयोग करके अपने परिणाम प्राप्त कर सकते हैं — यानी ResultSet.
इस अभ्यास में, आप एक पारंपरिक SQL क्वेरी का उपयोग करेंगे। ध्यान दें कि जब आप raw SQL का उपयोग करके क्वेरी चलाते हैं, तो आप टेबल को सीधे डेटाबेस में क्वेरी करते हैं। खास तौर पर, किसी reflection स्टेप की जरूरत नहीं पड़ती.
अगले अभ्यास में, आप SQLAlchemy पर जाएँगे और इसके फ़ायदे समझना शुरू करेंगे। शुरू कीजिए!
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Databases का परिचय
अभ्यास निर्देश
engineके.connect()मेथड का उपयोग करके एक कनेक्शन बनाएँ.censusसे सभी कॉलम क्वेरी करने के लिए एक SQL स्टेटमेंट बनाएँ और उसेstmtमें स्टोर करें। ध्यान दें कि आपका SQL स्टेटमेंट एक string होना चाहिए.connectionपर.execute()और.fetchall()मेथड्स का उपयोग करें और परिणामresultsमें स्टोर करें। याद रखें,.execute()पहले आता है, फिर.fetchall()औरstmtको.execute()में पास करना है.resultsप्रिंट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
from sqlalchemy import create_engine
engine = create_engine('sqlite:///census.sqlite')
# Create a connection on engine
connection = ___
# Build select statement for census table: stmt
stmt = ____
# Execute the statement and fetch the results: results
results = ____
# Print results
print(____)