dramit80 commited on
Commit
d89fa82
·
verified ·
1 Parent(s): 46b756d

Upload database.py

Browse files
Files changed (1) hide show
  1. database.py +93 -0
database.py ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import sqlite3
2
+ import pandas as pd
3
+ from datetime import datetime
4
+
5
+ def init_database():
6
+ conn = sqlite3.connect('school_data.db')
7
+ cursor = conn.cursor()
8
+
9
+ # Students Table
10
+ cursor.execute('''
11
+ CREATE TABLE IF NOT EXISTS students (
12
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
13
+ name TEXT NOT NULL,
14
+ grade TEXT NOT NULL,
15
+ roll_no INTEGER,
16
+ parent_name TEXT,
17
+ parent_phone TEXT,
18
+ address TEXT,
19
+ created_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
20
+ )
21
+ ''')
22
+
23
+ # Teachers Table
24
+ cursor.execute('''
25
+ CREATE TABLE IF NOT EXISTS teachers (
26
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
27
+ name TEXT NOT NULL,
28
+ subject TEXT,
29
+ qualifications TEXT,
30
+ phone TEXT,
31
+ email TEXT,
32
+ created_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
33
+ )
34
+ ''')
35
+
36
+ # Attendance Table
37
+ cursor.execute('''
38
+ CREATE TABLE IF NOT EXISTS attendance (
39
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
40
+ student_id INTEGER,
41
+ date DATE,
42
+ status TEXT,
43
+ remarks TEXT,
44
+ FOREIGN KEY (student_id) REFERENCES students (id)
45
+ )
46
+ ''')
47
+
48
+ # Marks Table
49
+ cursor.execute('''
50
+ CREATE TABLE IF NOT EXISTS marks (
51
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
52
+ student_id INTEGER,
53
+ subject TEXT,
54
+ exam_type TEXT,
55
+ marks REAL,
56
+ total_marks REAL,
57
+ grade TEXT,
58
+ entered_on TIMESTAMP,
59
+ FOREIGN KEY (student_id) REFERENCES students (id)
60
+ )
61
+ ''')
62
+
63
+ # Users Table for Login
64
+ cursor.execute('''
65
+ CREATE TABLE IF NOT EXISTS users (
66
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
67
+ username TEXT UNIQUE,
68
+ password TEXT,
69
+ user_type TEXT,
70
+ student_id INTEGER,
71
+ teacher_id INTEGER,
72
+ FOREIGN KEY (student_id) REFERENCES students (id),
73
+ FOREIGN KEY (teacher_id) REFERENCES teachers (id)
74
+ )
75
+ ''')
76
+
77
+ conn.commit()
78
+ conn.close()
79
+
80
+ def add_student(name, grade, roll_no, parent_name, parent_phone, address):
81
+ conn = sqlite3.connect('school_data.db')
82
+ cursor = conn.cursor()
83
+
84
+ cursor.execute('''
85
+ INSERT INTO students (name, grade, roll_no, parent_name, parent_phone, address)
86
+ VALUES (?, ?, ?, ?, ?, ?)
87
+ ''', (name, grade, roll_no, parent_name, parent_phone, address))
88
+
89
+ student_id = cursor.lastrowid
90
+ conn.commit()
91
+ conn.close()
92
+
93
+ return f"✅ विद्यार्थी नोंदणी झाली! ID: {student_id}"