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

पिछले अध्याय में, हमने समझा है कि क्या Updateअभिव्यक्ति करता है। अगली अभिव्यक्ति जो हम सीखने जा रहे हैं वह हैDelete

निम्न कथन में दिए गए लक्ष्य तालिका ऑब्जेक्ट पर डिलीट () विधि चलाकर डिलीट ऑपरेशन को प्राप्त किया जा सकता है -

stmt = students.delete()

छात्रों की तालिका के मामले में, कोड की उपरोक्त रेखा एक SQL अभिव्यक्ति का निर्माण करती है -

'DELETE FROM students'

हालांकि, यह छात्रों की तालिका में सभी पंक्तियों को हटा देगा। आमतौर पर DELETE क्वेरी WHERE क्लॉज द्वारा निर्दिष्ट एक तार्किक अभिव्यक्ति से संबंधित है। निम्न कथन दिखाता है कि पैरामीटर कहाँ है -

stmt = students.delete().where(students.c.id > 2)

परिणामी SQL अभिव्यक्ति में एक बाउंड पैरामीटर होगा जिसे स्टेटमेंट निष्पादित होने पर रनटाइम पर प्रतिस्थापित किया जाएगा।

'DELETE FROM students WHERE students.id > :id_1'

कोड उदाहरण के बाद छात्रों की तालिका से उन पंक्तियों को हटा दिया जाएगा जिनके पास 'खन्ना' के रूप में अंतिम नाम है -

from sqlalchemy.sql.expression import update
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.delete().where(students.c.lastname == 'Khanna')
conn.execute(stmt)
s = students.select()
conn.execute(s).fetchall()

परिणाम को सत्यापित करने के लिए, SQLiteStudio में छात्रों की तालिका के डेटा दृश्य को ताज़ा करें।