Python में SQLite के साथ काम करने की मूल बातें
आधुनिक एप्लिकेशन में डेटाबेस के साथ काम करना एक महत्वपूर्ण पहलू है। लेकिन हर बार MySQL या PostgreSQL जैसे भारी-भरकम डेटाबेस सिस्टम की ज़रूरत नहीं होती। छोटे प्रोजेक्ट्स, प्रोटोटाइप बनाने या लोकल एप्लिकेशन डेवलप करने के लिए Python में बिल्ट-इन SQLite डेटाबेस सिस्टम एक बेहतरीन विकल्प है।
इस गाइड में हम Python में SQLite के साथ काम करने के सिद्धांतों को विस्तार से समझेंगे। आप डेटाबेस में बुनियादी ऑपरेशन करना सीखेंगे। साथ ही, Python के साथ SQLite में UPDATE कमांड के व्यावहारिक उदाहरण भी देखेंगे।
SQLite क्या है और इसके फायदे
SQLite एक हल्का, एम्बेडेड रिलेशनल डेटाबेस है। इसे चलाने के लिए किसी अलग सर्वर की ज़रूरत नहीं होती। SQLite डेटाबेस सीधे आपके कंप्यूटर की डिस्क पर एक फाइल में स्टोर होता है।
SQLite के मुख्य फायदे:
- Python की स्टैंडर्ड लाइब्रेरी में sqlite3 मॉड्यूल के रूप में शामिल
- अलग सर्वर इंस्टॉल और कॉन्फ़िगर करने की ज़रूरत नहीं
- लोकल एप्लिकेशन और मोबाइल सॉल्यूशंस के लिए एकदम सही
- उपयोग में आसान और छोटे डेटा पर तेज़ प्रदर्शन
- स्टैंडर्ड SQL क्वेरी को सपोर्ट करता है
- क्रॉस-प्लेटफ़ॉर्म और पोर्टेबल
- भरोसेमंद और स्थिर प्रदर्शन
SQLite डेटाबेस से कनेक्ट करना
SQLite के साथ काम करने के लिए स्टैंडर्ड मॉड्यूल sqlite3 का उपयोग किया जाता है। इसे अलग से इंस्टॉल करने की ज़रूरत नहीं है, क्योंकि यह Python के स्टैंडर्ड इंस्टॉलेशन में पहले से शामिल है।
import sqlite3
# डेटाबेस बनाना या कनेक्ट करना
conn = sqlite3.connect('example.db')
# SQL क्वेरी चलाने के लिए कर्सर बनाना
cursor = conn.cursor()
इस कोड को चलाने पर मौजूदा डायरेक्टरी में example.db नाम की डेटाबेस फाइल बन जाती है। अगर फाइल पहले से मौजूद है, तो वह मौजूदा डेटाबेस से कनेक्ट हो जाती है।
डेटाबेस स्ट्रक्चर बनाना
टेबल बनाना
SQLite में टेबल बनाने के लिए CREATE TABLE कमांड का उपयोग किया जाता है। आइए यूज़र्स की जानकारी स्टोर करने के लिए एक टेबल बनाने का उदाहरण देखें:
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER,
email TEXT UNIQUE
)
''')
conn.commit()
इस उदाहरण में चार कॉलम वाली users टेबल बनाई गई है:
- id — ऑटो-इन्क्रीमेंट के साथ यूनिक आइडेंटिफ़ायर
- name — यूज़र का नाम (अनिवार्य फ़ील्ड)
- age — यूज़र की उम्र
- email — ईमेल (यूनिक वैल्यू)
ऑप्टिमाइज़ेशन के लिए इंडेक्स बनाना
क्वेरी के प्रदर्शन को बेहतर बनाने के लिए इंडेक्स बनाए जा सकते हैं:
cursor.execute('''
CREATE INDEX IF NOT EXISTS idx_users_email ON users(email)
''')
cursor.execute('''
CREATE INDEX IF NOT EXISTS idx_users_age ON users(age)
''')
conn.commit()
डेटा के साथ ऑपरेशन
टेबल में डेटा जोड़ना
एक रिकॉर्ड डालने के लिए INSERT कमांड का उपयोग किया जाता है:
cursor.execute('''
INSERT INTO users (name, age, email)
VALUES (?, ?, ?)
''', ('Alice', 30, 'alice@example.com'))
conn.commit()
एक साथ कई डेटा जोड़ना
एक साथ कई रिकॉर्ड डालने के लिए executemany मेथड का उपयोग करें:
users_data = [
('Bob', 25, 'bob@example.com'),
('Charlie', 35, 'charlie@example.com'),
('Diana', 28, 'diana@example.com'),
('Eve', 32, 'eve@example.com')
]
cursor.executemany('''
INSERT INTO users (name, age, email)
VALUES (?, ?, ?)
''', users_data)
conn.commit()