Python में sqlite3 मॉड्यूल का उपयोग
Python की मानक लाइब्रेरी में sqlite3 मॉड्यूल शामिल है, जो DB-API 2.0 (PEP 249) का अनुपालन करता है। SQLite एक सर्वरलेस, फ़ाइल-आधारित डेटाबेस है।
कनेक्शन स्थापित करें
import sqlite3
conn = sqlite3.connect('mydb.sqlite3') # फ़ाइल-आधारित
# या मेमोरी में:
conn = sqlite3.connect(':memory:')
मुख्य कनेक्शन मेथड
cursor()- कर्सर ऑब्जेक्ट लौटाता हैcommit()- ट्रांजेक्शन कमिट करता हैrollback()- ट्रांजेक्शन रोलबैक करता हैexecute()- इम्प्लिसिट कर्सर बनाकर SQL निष्पादित करता हैexecutemany()- बल्क ऑपरेशन के लिएiterdump()- SQL डंप जनरेट करता हैbackup()- ऑनलाइन बैकअप बनाता है
कर्सर ऑपरेशन
cur = conn.cursor()
cur.execute("CREATE TABLE guests (ID INTEGER PRIMARY KEY, name TEXT NOT NULL, address TEXT, city TEXT)")
cur.execute("INSERT INTO guests VALUES (1, 'RAJU', 'ABIDS', 'HYDERABAD')")
# बल्क इन्सर्ट
addresses = [(2,'KISHAN','TILAK ROAD','PUNE'), (3,'LATA','GANDHI NAGAR','AURANGABAD')]
cur.executemany("INSERT INTO guests VALUES (:ID, :NAME, :ADD, :CITY)", addresses)
# डेटा प्राप्त करें
cur.execute("SELECT * FROM guests")
row = cur.fetchone() # एक पंक्ति (टपल)
rows = cur.fetchall() # सभी पंक्तियों की सूची
डेटा प्रकार मैपिंग
| Python प्रकार | SQLite प्रकार |
|---|---|
| None | NULL |
| int | INTEGER |
| float | REAL |
| str | TEXT |
| bytes | BLOB |
अपवाद
DatabaseError- डेटाबेस संबंधी त्रुटिIntegrityError- अखंडता उल्लंघन (फॉरेन की आदि)ProgrammingError- प्रोग्रामिंग त्रुटि (सिंटैक्स, टेबल नहीं मिला)OperationalError- संचालन त्रुटि (लॉक, डिस्क फुल)NotSupportedError- असमर्थित फ़ीचर
सर्वोत्तम अभ्यास: हमेशा try/except/finally ब्लॉक में कनेक्शन बंद करें या with स्टेटमेंट (Python 3.4+) का उपयोग करें।