अद्यतन अभिव्यक्ति का उपयोग करना

update() लक्ष्य तालिका ऑब्जेक्ट पर विधि समरूप UPDATE SQL अभिव्यक्ति का निर्माण करती है।

table.update().where(conditions).values(SET expressions)

values()परिणाम अद्यतन अद्यतन विधि का उपयोग UPDATE की SET शर्तों को निर्दिष्ट करने के लिए किया जाता है। यदि कोई नहीं के रूप में छोड़ दिया जाता है, तो SET की शर्तों को उन मापदंडों से निर्धारित किया जाता है जो कथन के निष्पादन और / या संकलन के दौरान बयान में दिए गए हैं।

जहाँ क्लॉज एक वैकल्पिक अभिव्यक्ति है, जो विवरण कथन की स्थिति के बारे में बताती है।

निम्नलिखित कोड स्निपेट छात्रों के टेबल में 'खन्ना' से 'कपूर' तक 'अंतिम नाम' कॉलम का मान बदलता है -

stmt = students.update().where(students.c.lastname == 'Khanna').values(lastname = 'Kapoor')

Stmt वस्तु एक अद्यतन वस्तु है जिसका अनुवाद है -

'UPDATE students SET lastname = :lastname WHERE students.lastname = :lastname_1'

बाध्य पैरामीटर lastname_1 जब प्रतिस्थापित किया जाएगा execute()विधि लागू है। पूरा अपडेट कोड नीचे दिया गया है -

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), 
)

conn = engine.connect()
stmt=students.update().where(students.c.lastname=='Khanna').values(lastname='Kapoor')
conn.execute(stmt)
s = students.select()
conn.execute(s).fetchall()

उपरोक्त कोड आउटपुट के बाद दूसरी पंक्ति के साथ प्रदर्शित होता है जैसे कि अपडेट ऑपरेशन का प्रभाव स्क्रीनशॉट में दिया गया है -

[
   (1, 'Ravi', 'Kapoor'),
   (2, 'Rajiv', 'Kapoor'),
   (3, 'Komal', 'Bhandari'),
   (4, 'Abdul', 'Sattar'),
   (5, 'Priya', 'Rajhans')
]

ध्यान दें कि समान कार्यक्षमता का उपयोग करके भी प्राप्त किया जा सकता है update() नीचे दिखाए अनुसार sqlalchemy.sql.expression मॉड्यूल में कार्य -

from sqlalchemy.sql.expression import update
stmt = update(students).where(students.c.lastname == 'Khanna').values(lastname = 'Kapoor')