Python में डेटाबेस कनेक्ट करने की मूल बातें
किसी भी आधुनिक प्रोग्राम के लिए डेटाबेस के साथ काम करना बहुत ज़रूरी है। डेटा को स्टोर करना, निकालना और मैनेज करना आपको पूर्ण एप्लिकेशन बनाने में मदद करता है। ये सरल स्क्रिप्ट से लेकर जटिल वेब सर्विसेज तक कुछ भी हो सकते हैं।
Python में डेटाबेस के साथ काम करने के कई तरीके हैं। इस आर्टिकल में हम sqlite3 मॉड्यूल का उपयोग करके डेटाबेस कनेक्ट करना विस्तार से समझेंगे। साथ ही, json.dump का उपयोग करके JSON फॉर्मेट में डेटा सेव करना भी सीखेंगे। आइए इन तकनीकों के मुख्य पहलुओं को जानें।
प्रोजेक्ट्स में डेटाबेस का उपयोग क्यों ज़रूरी है?
अगर आपके प्रोग्राम ऐसे डेटा को प्रोसेस करते हैं जिसे बार-बार रन करने पर सेव रखना है, तो डेटाबेस के बिना काम नहीं चलेगा। Python sqlite3 डेटाबेस जानकारी स्टोर करने का एक भरोसेमंद समाधान देता है।
डेटाबेस के फायदे
Python प्रोजेक्ट्स में डेटाबेस का उपयोग करने के ये फायदे हैं:
• स्ट्रक्चर्ड डेटा को आसानी से स्टोर करना • तेज़ एक्सेस और डेटा फ़िल्टर करना • डेटा का केंद्रीकृत प्रबंधन • डेटा इंटीग्रिटी सुनिश्चित करना • बैकअप बनाने की सुविधा • स्केलेबल समाधान
Python में SQLite डेटाबेस के साथ काम करना
SQLite डेटाबेस छोटे प्रोजेक्ट्स के लिए एकदम सही विकल्प है। यह सीधे आपके एप्लिकेशन में एम्बेड हो जाता है। इसके लिए अलग सर्वर की ज़रूरत नहीं होती। यह .db फ़ाइलों के साथ काम करता है।
SQLite डेटाबेस से कनेक्ट करना
sqlite3 मॉड्यूल Python की स्टैंडर्ड लाइब्रेरी में शामिल है। इसका मतलब है कि इसे अलग से इंस्टॉल करने की ज़रूरत नहीं है।
import sqlite3
# डेटाबेस से कनेक्ट करें (अगर फ़ाइल नहीं है, तो बन जाएगी)
conn = sqlite3.connect('example.db')
# SQL क्वेरी चलाने के लिए कर्सर बनाएं
cursor = conn.cursor()
जब आप किसी मौजूदा डेटाबेस से कनेक्ट नहीं होते, तो फ़ाइल अपने आप बन जाती है। इससे नए प्रोजेक्ट्स के साथ काम करना आसान हो जाता है।
डेटाबेस में टेबल बनाना
डेटा जोड़ने से पहले टेबल की संरचना बनाना ज़रूरी है। इसके लिए SQL कमांड CREATE TABLE का उपयोग करें:
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER
)
''')
conn.commit()
IF NOT EXISTS कमांड बार-बार टेबल बनाने पर एरर आने से रोकता है। PRIMARY KEY AUTOINCREMENT अपने आप यूनिक आइडेंटिफ़ायर असाइन करता है।
टेबल में डेटा जोड़ना
डेटा डालने के लिए INSERT INTO कमांड का उपयोग किया जाता है। SQL इंजेक्शन से बचने के लिए पैरामीटराइज़्ड क्वेरी का उपयोग करें:
cursor.execute('''
INSERT INTO users (name, age) VALUES (?, ?)
''', ('Alice', 30))
# एक साथ कई रिकॉर्ड जोड़ना
users_data = [
('Bob', 25),
('Carol', 35),
('David', 40)
]
cursor.executemany('''
INSERT INTO users (name, age) VALUES (?, ?)
''', users_data)
conn.commit()
executemany मेथड एक ही ऑपरेशन में कई रिकॉर्ड जोड़ने में मदद करता है।
डेटा पढ़ना और निकालना
डेटा निकालने के लिए अलग-अलग मेथड का उपयोग किया जाता है। यह आपकी ज़रूरत के अनुसार रिकॉर्ड की संख्या पर निर्भर करता है:
# सभी रिकॉर्ड प्राप्त करना
cursor.execute('SELECT * FROM users')
all_rows = cursor.fetchall()
for row in all_rows:
print(row)
# एक रिकॉर्ड प्राप्त करना
cursor.execute('SELECT * FROM users WHERE age > ?', (30,))
one_row = cursor.fetchone()
print(one_row)
# कुछ रिकॉर्ड प्राप्त करना
cursor.execute('SELECT name, age FROM users ORDER BY age')
some_rows = cursor.fetchmany(2)
for row in some_rows:
print(f"नाम: {row[0]}, उम्र: {row[1]}")
डेटा अपडेट और डिलीट करना
मौजूदा रिकॉर्ड को बदलने के लिए UPDATE और DELETE कमांड का उपयोग करें: