Online Computer Courses Classes and Training Program

Lesson 8 — SQLite Database की शुरुआत

 


बहुत बढ़िया! ✅ Lesson 7 सफलतापूर्वक पूरा हो गया है।

आपके screenshot में सभी पाँच fields सही तरह से data ले रहे हैं:

  • Student Name → Rahul Kumar ✅

  • Father Name → Ramesh Kumar ✅

  • Mobile → 9876543210 ✅

  • Class → V ✅

  • Monthly Fee → ₹1000 ✅

और Save Student दबाने पर सही information popup में आ रही है। 🎉

अब हम एक बहुत महत्वपूर्ण चरण पर पहुँच गए हैं:

🎓 Lesson 8 — SQLite Database

अभी तक:

Student Form
     ↓
Python
     ↓
Popup

लेकिन program बंद करते ही Rahul Kumar का data गायब हो जाएगा।

हमें चाहिए:

Student Form
     ↓
Save Student
     ↓
Python
     ↓
SQLite Database
     ↓
Data Permanently Saved

यही School Fee Management Software की असली foundation है।


Lesson 8 में हम क्या सीखेंगे?

पहले हम समझेंगे:

Database क्या है?

इसे स्कूल की एक digital register की तरह समझिए।

School Register
│
├── Student 1
├── Student 2
├── Student 3
├── Student 4
└── ...

SQLite में यही information table में रहेगी:

students
────────────────────────────────────
id
student_name
father_name
mobile
class_name
monthly_fee

उदाहरण:

idstudent_namefather_namemobileclassmonthly_fee
1Rahul KumarRamesh Kumar9876543210V1000

Step 1 — SQLite के लिए कुछ Install नहीं करना

यह अच्छी बात है। 😊

Python के साथ SQLite की library पहले से आती है।

हम केवल लिखेंगे:

import sqlite3

इसलिए अभी कोई:

pip install sqlite3

नहीं करना है।


Step 2 — Database File बनाएँगे

हमारा database होगा:

school.db

Project में बाद में structure ऐसा होगा:

School_Fee_Management_Learning
│
├── main.py
├── school.db
└── venv

school.db में हमारा actual student data रहेगा।


Step 3 — Database Connection

main.py के सबसे ऊपर:

import sqlite3

जोड़ें।

फिर save_student() से पहले यह function बनाएँ:

def get_connection():
    return sqlite3.connect("school.db")

इसका मतलब:

जब भी हमें database से काम करना हो, school.db से connection प्राप्त करो।


Step 4 — Students Table बनाएँ

अब एक और function:

def create_table():
    connection = get_connection()

    cursor = connection.cursor()

    cursor.execute("""
        CREATE TABLE IF NOT EXISTS students (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            student_name TEXT NOT NULL,
            father_name TEXT NOT NULL,
            mobile TEXT,
            class_name TEXT,
            monthly_fee REAL
        )
    """)

    connection.commit()
    connection.close()

अब इसे समझते हैं।


CREATE TABLE

CREATE TABLE IF NOT EXISTS students

मतलब:

students नाम की table बनाओ, लेकिन अगर पहले से मौजूद है तो दोबारा मत बनाओ।


id

id INTEGER PRIMARY KEY AUTOINCREMENT

हर student को एक unique number मिलेगा:

1
2
3
4
5

इसे हम बाद में Student ID / Database ID के रूप में इस्तेमाल करेंगे।


student_name

student_name TEXT NOT NULL

Student का नाम text के रूप में store होगा।

NOT NULL का मतलब:

Student name खाली नहीं होना चाहिए।


father_name

father_name TEXT NOT NULL

Father name भी जरूरी रखा गया है।


mobile

mobile TEXT

Mobile को हमने TEXT रखा है, INTEGER नहीं।

यह महत्वपूर्ण है क्योंकि phone number गणना करने वाली संख्या नहीं है


monthly_fee

monthly_fee REAL

Fee amount store करने के लिए।

उदाहरण:

800
1000
1250.50

Step 5 — Table को Create करना

अब program शुरू होने के समय:

create_table()

चलाना होगा।

इस line को:

app = QApplication(sys.argv)

से पहले रख सकते हैं:

create_table()

app = QApplication(sys.argv)

इससे program शुरू होते ही database/table तैयार हो जाएगी।


🧠 अभी Student Save नहीं होगा

यह बात ध्यान से समझिए।

इस lesson के पहले चरण में हम केवल:

Python
 ↓
SQLite
 ↓
school.db
 ↓
students table

बनाएँगे।

अगले step में हम Save Student को database से जोड़ेंगे:

Save Student
      ↓
Form Data
      ↓
INSERT INTO students
      ↓
SQLite
      ↓
Student Saved

🎯 अभी आपका छोटा Task

अपने current code में केवल ये चीजें जोड़ें:

1.

ऊपर:

import sqlite3

2.

save_student() से पहले:

def get_connection():
    return sqlite3.connect("school.db")


def create_table():
    connection = get_connection()

    cursor = connection.cursor()

    cursor.execute("""
        CREATE TABLE IF NOT EXISTS students (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            student_name TEXT NOT NULL,
            father_name TEXT NOT NULL,
            mobile TEXT,
            class_name TEXT,
            monthly_fee REAL
        )
    """)

    connection.commit()
    connection.close()

3.

app = QApplication(...) से पहले:

create_table()

फिर run करें:

python main.py

अगर कोई error नहीं आता है, तो project folder में आपको:

school.db

दिखना चाहिए।

अभी Save Student को database से connect मत करें। पहले सिर्फ school.db और students table बनना सफल करें। उसके बाद हम Lesson 8 का अगला भाग — INSERT INTO से Rahul Kumar को वास्तव में database में save करना सीखेंगे।

Post a Comment

0 Comments