SQLAlchemy कोर - निष्पादन अभिव्यक्ति

पिछले अध्याय में, हमने SQL एक्सप्रेशंस सीखा है। इस अध्याय में, हम इन भावों के निष्पादन पर ध्यान देंगे।

परिणामी SQL अभिव्यक्तियों को निष्पादित करने के लिए, हमें करना होगा obtain a connection object representing an actively checked out DBAPI connection resource और फिर feed the expression object जैसा कि नीचे दिए गए कोड में दिखाया गया है।

conn = engine.connect()

निम्नलिखित सम्मिलित () ऑब्जेक्ट का उपयोग निष्पादन के लिए किया जा सकता है () विधि -

ins = students.insert().values(name = 'Ravi', lastname = 'Kapoor')
result = conn.execute(ins)

कंसोल नीचे के रूप में SQL अभिव्यक्ति के निष्पादन का परिणाम दिखाता है -

INSERT INTO students (name, lastname) VALUES (?, ?)
('Ravi', 'Kapoor')
COMMIT

निम्नलिखित संपूर्ण स्निपेट है जो SQLAlchemy की मूल तकनीक का उपयोग करके INSERT क्वेरी के निष्पादन को दर्शाता है -

from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String
engine = create_engine('sqlite:///college.db', echo = True)
meta = MetaData()

students = Table(
   'students', meta, 
   Column('id', Integer, primary_key = True), 
   Column('name', String), 
   Column('lastname', String), 
)

ins = students.insert()
ins = students.insert().values(name = 'Ravi', lastname = 'Kapoor')
conn = engine.connect()
result = conn.execute(ins)

नीचे स्क्रीनशॉट में दिखाए अनुसार SQLite Studio का उपयोग करके डेटाबेस को खोलकर परिणाम को सत्यापित किया जा सकता है -

परिणाम चर को ResultProxy के रूप में जाना जाता है object। यह DBAPI कर्सर ऑब्जेक्ट के अनुरूप है। हम प्राथमिक कुंजी मानों के बारे में जानकारी प्राप्त कर सकते हैं जो हमारे कथन के उपयोग से उत्पन्न हुए थेResultProxy.inserted_primary_key जैसा कि नीचे दिखाया गया है -

result.inserted_primary_key
[1]

डीबीएपीआई के कई () विधि का उपयोग करके कई आवेषण जारी करने के लिए, हम उन शब्दकोशों की सूची में भेज सकते हैं जिनमें प्रत्येक पैरामीटर को सम्मिलित करने का एक अलग सेट होता है।

conn.execute(students.insert(), [
   {'name':'Rajiv', 'lastname' : 'Khanna'},
   {'name':'Komal','lastname' : 'Bhandari'},
   {'name':'Abdul','lastname' : 'Sattar'},
   {'name':'Priya','lastname' : 'Rajhans'},
])

यह तालिका के डेटा दृश्य में परिलक्षित होता है जैसा कि निम्न आकृति में दिखाया गया है -