Session से क्वेरी करना
डेटा पढ़ें और फ़िल्टर करें
Session से क्वेरी करना, CoddyKit पर Python Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Python Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
सेशन
ओआरएम अपना सारा काम सेशन के माध्यम से करता है। यह कार्य-इकाई को संभालता है: नए, बदले हुए और हटाए गए ऑब्जेक्ट पर नज़र रखता है और डेटाबेस से संपर्क करता है।
from sqlalchemy import create_engine
from sqlalchemy.orm import Session
engine = create_engine('sqlite:///:memory:')
with Session(engine) as session:
print('Session open:', session)ऑब्जेक्ट जोड़ना
session.add() नए ऑब्जेक्ट को अगले चरण के लिए तैयार रखता है। जब तक आप commit() नहीं करते, तब तक डेटाबेस में कुछ भी नहीं लिखा जाता।
from sqlalchemy.orm import Session
# session.add(user) stages it
# session.commit() writes it
print('add stages, commit saves')बदलाव कमिट करना
session.commit() लंबित बदलावों को डेटाबेस में भेजता है और लेन-देन को कमिट करके उन्हें स्थायी बना देता है।
# with Session(engine) as session:
# session.add(User(name='Alice'))
# session.commit()
print('commit persists the work')select() से क्वेरी करना
आधुनिक SQLAlchemy select() के माध्यम से डेटा पढ़ता है, जिसे सेशन के ज़रिए चलाया जाता है। scalars() मॉडल इंस्टेंस लौटाता है।
from sqlalchemy import select
# stmt = select(User)
# users = session.scalars(stmt).all()
print('select(User) then scalars().all()')सभी पंक्तियाँ प्राप्त करना
session.scalars(select(User)).all() तालिका में मौजूद हर User ऑब्जेक्ट की सूची लौटाता है।
from sqlalchemy import select
# all_users = session.scalars(select(User)).all()
# for u in all_users:
# print(u.name)
print('all() returns a list of objects')where() से फ़िल्टर करना
फ़िल्टर करने के लिए where() की शर्त जोड़ें। मैप किए गए कॉलम की तुलना सामान्य Python ऑपरेटर से करें।
from sqlalchemy import select
# stmt = select(User).where(User.age > 28)
# adults = session.scalars(stmt).all()
print('where(User.age > 28) filters rows')एक ऑब्जेक्ट प्राप्त करना
session.scalars(stmt).first() पहला मिलान लौटाता है या None लौटाता है। one() को ठीक एक पंक्ति की अपेक्षा होती है और अन्यथा यह त्रुटि उत्पन्न करता है।
from sqlalchemy import select
# stmt = select(User).where(User.name == 'Alice')
# user = session.scalars(stmt).first()
print('first() = first match or None')प्राथमिक कुंजी से खोज
session.get(User, 1) प्राथमिक कुंजी के आधार पर एक ऑब्जेक्ट प्राप्त करने का सबसे तेज़ तरीका है।
# user = session.get(User, 1)
# print(user.name)
print('session.get(Model, pk) fetches by id')परिणामों का क्रम तय करना
क्रमबद्ध करने के लिए order_by() को जोड़ें। घटते क्रम के लिए किसी कॉलम पर .desc() का उपयोग करें।
from sqlalchemy import select
# stmt = select(User).order_by(User.age.desc())
# sorted_users = session.scalars(stmt).all()
print('order_by(User.age.desc()) sorts results')ऑब्जेक्ट अपडेट करना
लोड किए गए ऑब्जेक्ट की किसी विशेषता को बदलें, फिर commit() करें। सेशन इस बदलाव का पता लगाकर UPDATE जारी करता है।
# user = session.get(User, 1)
# user.name = 'Alicia'
# session.commit() # auto UPDATE
print('Edit attribute, then commit')ऑब्जेक्ट हटाना
session.delete(obj) किसी ऑब्जेक्ट को हटाने के लिए चिह्नित करता है। DELETE अगले कमिट के दौरान चलता है।
# user = session.get(User, 1)
# session.delete(user)
# session.commit() # row removed
print('delete(obj) then commit removes the row')त्वरित जाँच
सेशन से जुड़े अपने ज्ञान की जाँच करें।
पुनरावलोकन
आपने सेशन के माध्यम से डेटा पढ़ना और बदलना सीखा।
Sessionआपकी कार्य-इकाई पर नज़र रखता हैadd()बदलावों को अगले चरण के लिए रखता है, जबकिcommit()उन्हें स्थायी बनाता हैselect()+scalars()ऑब्जेक्ट पढ़ते हैं;where()फ़िल्टर करता हैsession.get()प्राथमिक कुंजी से ऑब्जेक्ट प्राप्त करता है; बदलाव औरdelete()कमिट पर लागू होते हैं
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 76
- पाठ
- 320
अक्सर पूछे जाने वाले प्रश्न
क्या “Session से क्वेरी करना” पाठ निःशुल्क है?
हाँ—“Session से क्वेरी करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Python Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Session से क्वेरी करना” में मैं क्या सीखूँगा?
डेटा पढ़ें और फ़िल्टर करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Python Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Python Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Python Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“Session से क्वेरी करना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Python Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Python Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- SQLAlchemy Core बनाम ORM
- मॉडल परिभाषित करना
- Session से क्वेरी करना
- संबंध और जॉइन