पायथन SQLite - डेटा हटाएं

SQLite तालिका से रिकॉर्ड हटाने के लिए, आपको DELETE FROM कथन का उपयोग करने की आवश्यकता है। विशिष्ट रिकॉर्ड को निकालने के लिए, आपको इसके साथ WHERE क्लॉज़ का उपयोग करना होगा।

विशिष्ट पंक्तियों को अपडेट करने के लिए, आपको इसके साथ WHERE क्लॉज़ का उपयोग करना होगा।

वाक्य - विन्यास

SQLite में DELETE क्वेरी का सिंटैक्स निम्नलिखित है -

DELETE FROM table_name [WHERE Clause]

उदाहरण

मान लें कि हमने निम्नलिखित क्वेरी का उपयोग करके CRICKETERS नाम के साथ एक तालिका बनाई है -

sqlite> CREATE TABLE CRICKETERS (
   First_Name VARCHAR(255),
   Last_Name VARCHAR(255),
   Age int,
   Place_Of_Birth VARCHAR(255),
   Country VARCHAR(255)
);
sqlite>

और अगर हमने INSERT कथनों का उपयोग करते हुए इसमें 5 रिकॉर्ड डाले हैं -

sqlite> insert into CRICKETERS values('Shikhar', 'Dhawan', 33, 'Delhi', 'India');
sqlite> insert into CRICKETERS values('Jonathan', 'Trott', 38, 'CapeTown', 'SouthAfrica');
sqlite> insert into CRICKETERS values('Kumara', 'Sangakkara', 41, 'Matale', 'Srilanka');
sqlite> insert into CRICKETERS values('Virat', 'Kohli', 30, 'Delhi', 'India');
sqlite> insert into CRICKETERS values('Rohit', 'Sharma', 32, 'Nagpur', 'India');
sqlite>

निम्नलिखित कथन से उस क्रिकेटर का रिकॉर्ड हटा दिया जाता है जिसका अंतिम नाम 'संगकारा' है।

sqlite> DELETE FROM CRICKETERS WHERE LAST_NAME = 'Sangakkara';
sqlite>

यदि आप SELECT स्टेटमेंट का उपयोग करके तालिका की सामग्री को पुनः प्राप्त करते हैं, तो आप केवल 4 रिकॉर्ड देख सकते हैं क्योंकि हमने एक को हटा दिया है।

sqlite> SELECT * FROM CRICKETERS;
First_Name Last_Name  Age  Place_Of_B Country
---------- ---------- ---- ---------- -------------
Shikhar    Dhawan     46   Delhi      India
Jonathan   Trott      39   CapeTown   SouthAfrica
Virat      Kohli      31   Delhi      India
Rohit      Sharma     33   Nagpur     India
sqlite>

यदि आप WH कथन के बिना DELETE FROM कथन को निष्पादित करते हैं, तो निर्दिष्ट तालिका से सभी रिकॉर्ड हटा दिए जाएंगे।

sqlite> DELETE FROM CRICKETERS;
sqlite>

चूंकि आपने सभी रिकॉर्ड हटा दिए हैं, अगर आप CRICKETERS तालिका की सामग्री को पुनः प्राप्त करने का प्रयास करते हैं, तो SELECT स्टेटमेंट का उपयोग करके आपको नीचे दिखाए गए अनुसार एक खाली परिणाम सेट मिलेगा -

sqlite> SELECT * FROM CRICKETERS;
sqlite>

अजगर का उपयोग कर डेटा हटाना

SQLite डेटाबेस में मौजूदा तालिका में रिकॉर्ड जोड़ने के लिए -

  • Sqlite3 पैकेज आयात करें।

  • डेटाबेस के नाम को एक पैरामीटर के रूप में पारित करके कनेक्ट () विधि का उपयोग करके एक कनेक्शन ऑब्जेक्ट बनाएं ।

  • cursor()पद्धति एक कर्सर ऑब्जेक्ट लौटाती है जिसका उपयोग करके आप SQLite3 के साथ संवाद कर सकते हैं। (ऊपर बनाई गई) कनेक्शन ऑब्जेक्ट पर कर्सर () ऑब्जेक्ट को आमंत्रित करके एक कर्सर ऑब्जेक्ट बनाएं।

  • फिर, कर्सर ऑब्जेक्ट पर निष्पादित () विधि को एक पैरामीटर के रूप में एक DELETE स्टेटमेंट पास करके लागू करें।

उदाहरण

पायथन उदाहरण के बाद EMPLOYEE तालिका के रिकॉर्ड को 25 से अधिक आयु मान के साथ हटा दिया जाता है।

import sqlite3

#Connecting to sqlite
conn = sqlite3.connect('example.db')

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Retrieving contents of the table
print("Contents of the table: ")
cursor.execute('''SELECT * from EMPLOYEE''')
print(cursor.fetchall())

#Deleting records
cursor.execute('''DELETE FROM EMPLOYEE WHERE AGE > 25''')

#Retrieving data after delete
print("Contents of the table after delete operation ")
cursor.execute("SELECT * from EMPLOYEE")
print(cursor.fetchall())

#Commit your changes in the database
conn.commit()

#Closing the connection
conn.close()

उत्पादन

Contents of the table:
[('Ramya', 'Rama priya', 27, 'F', 9000.0), 
   ('Vinay', 'Battacharya', 21, 'M', 6000.0), 
   ('Sharukh', 'Sheik', 26, 'M', 8300.0), 
   ('Sarmista', 'Sharma', 26, 'F', 10000.0), 
   ('Tripthi', 'Mishra', 24, 'F', 6000.0)]
Contents of the table after delete operation
[('Vinay', 'Battacharya', 21, 'M', 6000.0), 
   ('Tripthi', 'Mishra', 24, 'F', 6000.0)]