SlideShare a Scribd company logo
Student management system(1) converted
Table of Contents
1. Certificate
2. Acknowledgement
3. Introduction
4. About Python
5. About MySQL
6. Requirements
7. Coding
8. Bibliography
CERTIFICATE
This is to certify that of class Xll
Science has prepared this report on the project
entitled “STUDENT MANAGEMENT
SYSTEM”.
This report is the result of his efforts and
endeavors. The report is found worthy of
acceptance as final report for the subject
Computer science. He/She has prepared the report
under my guidance.
(Mr. Rohit Agarwal)
PGT Computer Science
ACKNOWLEDGEMENT
It gives me a great pleasure to express my gratitude towards
our Computer teacher Mr. Rohit Agarwal for his guidance,
support and encouragement throughout the duration of
project. I would also like thanks to our director Madam
Priti Bhatia and our principal Madam Mrs. Rajni
Nautiyal for their encouragement. Without their motivation
and help, this project would not be completed successfully.
your name
INTRODUCTION
This project is about ……
Student management system(1) converted
ABOUT PYTHON
Introduction
It is widely used general purpose,high level
programming language.developed by guido vanrossum
in 1991.it is used for: software developMent, web
development (server-side), systeM scripting,
MatheMatics.
Features of python
1. Easy to use : due to siMple syntax rule
2. Interpreted language : code execution &
interpretation line by line.
3. Cross-Platform language : it can run on
windows, linux, Macinetosh etc. equally
4. Expressive language : less code to be written as
it itself express the purpose of the code.
5. Completeness : support wide range of library.
6. Free & Open source : can be downloaded
freely and source code can be Modify for
improvement.
Drawbacks of python
1. Lesser libraries : as compared to other
programming languages like c++,java,.net etc.
2. Slow language : as it is interpreted languages,it
executes the program slowly.
3. Weak on type-binding : it not pin point on use
of a single variable for different data type.
ABOUT MYSQL
Introduction
MySQL is currently the Most popular open
source database software. it is a Multi-user,
Multithreaded database Management system.
MySQL is especially popular on the web. it is one
of the parts of the very popular platform such as
linux, windows etc.
MySQL was founded by Michael widenius
(Monty), david axMarK and allan larsson in
sweden in year 1995.
Features of MySQL:
Open source & free of cost: it is open source
and available at free of cost.
Portability: Small enough in size to install and
run it on any types of hardware and OS liKe linux,
MS windows or Mac etc.
Security : its databases are secured & Protected
with password.
Connectivity : various apis are developed to
connect it with Many programming languages.
Query language : it supports SQL (Structured
Query language) for handling database.
REQUIREMENTS
Hardware Requirements
Computer,for coding and typing the required Documents
of the project.
Printer, to print the required documents of the Project.
Compact Drive.
Processor : Pentium Quad core
RAM : 64 Mb
Hard Disk : 20 gb
Software requirements
Operating system : windows 7 or above
Python 3 : for execution of program
MySQL : for storing data in the database
Python – mysql connector : for database
Connectivity
Microsoft Word, for documentation.
CODING
from tkinter import *
from tkinter import ttk
import pymysql
class Student:
def init (self,root):
self.root=root
self.root.title("Student Management System")
self.root.geometry("1350x700+0+0")
title=Label(self.root,text="Student Mangement System",font=("times new
roman",40,"bold"),bg="yellow",fg="red")
title.pack(side=TOP,fill=X)
#********** All variable*********
self.roll_no_var=StringVar()
self.name_var=StringVar()
self.email_var=StringVar()
self.gender_var=StringVar()
self.contact_var=StringVar()
self.dob_var=StringVar()
self.search_by=StringVar()
self.search_txt=StringVar()
#**************Manage Frame**********************
Manage_frame=Frame(self.root,bd=4,relief=RIDGE,bg="crimson")
Manage_frame.place(x=20,y=100,width=475,height=580)
m_title=Label(Manage_frame,text="Manage
Student",bg="crimson",fg="white",font=("times new roman",25,"bold"))
m_title.grid(row=0,columnspan=2,pady=15)
lbl_roll=Label(Manage_frame,text="Roll
no.",bg="crimson",fg="white",font=("times new roman",15,"bold"))
lbl_roll.grid(row=1,column=0,pady=10,padx=20,sticky="w")
txt_roll=Entry(Manage_frame,textvariable=self.roll_no_var,font=("times new
roman",10,"bold"),bd=5,relief=GROOVE)
txt_roll.grid(row=1,column=1,pady=10,padx=20,sticky="w")
lbl_name=Label(Manage_frame,text="Name",bg="crimson",fg="white",font=("times
new roman",15,"bold"))
lbl_name.grid(row=2,column=0,pady=10,padx=20,sticky="w")
txt_name=Entry(Manage_frame,textvariable=self.name_var,font=("times new
roman",10,"bold"),bd=5,relief=GROOVE)
txt_name.grid(row=2,column=1,pady=10,padx=20,sticky="w")
lbl_email=Label(Manage_frame,text="Email",bg="crimson",fg="white",font=("times
new roman",15,"bold"))
lbl_email.grid(row=3,column=0,pady=10,padx=20,sticky="w")
txt_email=Entry(Manage_frame,textvariable=self.email_var,font=("times new
roman",10,"bold"),bd=5,relief=GROOVE)
txt_email.grid(row=3,column=1,pady=10,padx=20,sticky="w")
lbl_gender=Label(Manage_frame,text="Gender",bg="crimson",fg="white",font=("times
new roman",15,"bold"))
lbl_gender.grid(row=4,column=0,pady=10,padx=20,sticky="w")
combo_gender=ttk.Combobox(Manage_frame,textvariable=self.gender_var,font=("times
new roman",9,"bold"),state="readonly")
combo_gender['values']=("Male","Female","Other")
combo_gender.grid(row=4,column=1,pady=10,padx=20,sticky="w")
lbl_contact=Label(Manage_frame,text="Contact",bg="crimson",fg="white",font=("times
new roman",15,"bold"))
lbl_contact.grid(row=5,column=0,pady=10,padx=20,sticky="w")
txt_contact=Entry(Manage_frame,textvariable=self.contact_var,font=("times new
roman",10,"bold"),bd=5,relief=GROOVE)
txt_contact.grid(row=5,column=1,pady=10,padx=20,sticky="w")
lbl_dob=Label(Manage_frame,text="D.O.B.",bg="crimson",fg="white",font=("times
new roman",15,"bold"))
lbl_dob.grid(row=6,column=0,pady=10,padx=20,sticky="w")
txt_dob=Entry(Manage_frame,textvariable=self.dob_var,font=("times new
roman",10,"bold"),bd=5,relief=GROOVE)
txt_dob.grid(row=6,column=1,pady=10,padx=20,sticky="w")
lbl_addr=Label(Manage_frame,text="Address",bg="crimson",fg="white",font=("times
new roman",15,"bold"))
lbl_addr.grid(row=7,column=0,pady=10,padx=20,sticky="w")
self.txt_addr=Text(Manage_frame,width=19,height=3)
self.txt_addr.grid(row=7,column=1,pady=10,padx=20,sticky="w")
#*******button Frame*******
btn_frame=Frame(Manage_frame,bd=4,relief=RIDGE,bg="crimson")
btn_frame.place(x=10,y=500,width=450)
addbutton=Button(btn_frame,text="Add",width=10,command=self.add_student).grid(ro
w=0,column=0,padx=10,pady=10)
updatebutton=Button(btn_frame,text="Update",width=10,command=self.update_data).gr
id(row=0,column=1,padx=10,pady=10)
deletebutton=Button(btn_frame,text="Delete",width=10,command=self.delete_data).grid
(row=0,column=2,padx=10,pady=10)
clearbutton=Button(btn_frame,text="Clear",width=10,command=self.clear).grid(row=0,c
olumn=3,padx=10,pady=10)
#**************Detail Frame**********************
Detail_frame=Frame(self.root,bd=4,relief=RIDGE,bg="crimson")
Detail_frame.place(x=530,y=100,width=790,height=580)
lbl_search=Label(Detail_frame,text="Search
By",bg="crimson",fg="white",font=("times new roman",15,"bold"))
lbl_search.grid(row=0,column=0,pady=10,padx=20,sticky="w")
combo_search=ttk.Combobox(Detail_frame,width=10,textvariable=self.search_by,font=(
"times new roman",10,"bold"),state="readonly")
combo_search['values']=("roll_no","name","contact")
combo_search.grid(row=0,column=1,pady=10,padx=20,sticky="w")
txt_search=Entry(Detail_frame,textvariable=self.search_txt,font=("times new
roman",10,"bold"),bd=4,relief=GROOVE)
txt_search.grid(row=0,column=2,pady=10,padx=20,sticky="w")
searchbtn=Button(Detail_frame,text="Search",width=10,pady=3,command=self.search_d
ata).grid(row=0,column=3,padx=10,pady=10)
showbtn=Button(Detail_frame,text="Show
All",width=10,pady=3,command=self.fetch_data).grid(row=0,column=4,padx=10,pady=
10)
#**************Table Frame****************
Table_frame=Frame(Detail_frame,bd=4,relief=RIDGE,bg="crimson")
Table_frame.place(x=10,y=70,width=760,height=500)
scroll_x=Scrollbar(Table_frame,orient=HORIZONTAL)
scroll_y=Scrollbar(Table_frame,orient=VERTICAL)
self.Student_table=ttk.Treeview(Table_frame,columns=("roll","name","email","gender","
contact","dob","address"),xscrollcommand=scroll_x.set,yscrollcommand=scroll_y.set)
scroll_x.pack(side=BOTTOM,fill=X)
scroll_y.pack(side=RIGHT,fill=Y)
scroll_x.config(command=self.Student_table.xview)
scroll_y.config(command=self.Student_table.yview)
self.Student_table.heading("roll",text="Roll No")
self.Student_table.heading("name",text="Name")
self.Student_table.heading("email",text="Email Id")
self.Student_table.heading("gender",text="Gender")
self.Student_table.heading("contact",text="Contact")
self.Student_table.heading("dob",text="D.O.B.")
self.Student_table.heading("address",text="Address")
self.Student_table['show']='headings'
self.Student_table.column("roll",width=60)
self.Student_table.column("name",width=110)
self.Student_table.column("email",width=110)
self.Student_table.column("gender",width=110)
self.Student_table.column("contact",width=110)
self.Student_table.column("dob",width=110)
self.Student_table.column("address",width=110)
self.Student_table.pack(fill=BOTH,expand=1)
self.Student_table.bind("<ButtonRelease-1>",self.get_cursor)
self.fetch_data()
def add_student(self):
if self.roll_no_var.get()=="" or self.name_var.get()=="":
ttk.messagebox.showerror("Error","All Fields are requred!")
else:
con=pymysql.connect(host='localhost',user='root',password='root',database='stm')
cur=con.cursor()
cur.execute("insert into students values(%s,%s,%s,%s,%s,%s,%s);",(
self.roll_no_var.get(),
self.name_var.get(),
self.email_var.get(),
self.gender_var.get(),
self.contact_var.get(),
self.dob_var.get(),
self.txt_addr.get('1.0',END)
))
con.commit()
ttk.messagebox.showinfo("Success","Record has been inserted")
self.fetch_data()
con.close()
def fetch_data(self):
con=pymysql.connect(host='localhost',user='root',password='root',database='stm')
cur=con.cursor()
cur.execute("select * from students")
rows=cur.fetchall()
if len(rows)!=0:
self.Student_table.delete(*self.Student_table.get_children())
for row in rows:
self.Student_table.insert('',END,values=row)
con.commit()
con.close()
def clear(self):
self.roll_no_var.set("")
self.name_var.set("")
self.email_var.set("")
self.contact_var.set("")
self.gender_var.set("")
self.dob_var.set("")
self.txt_addr.delete("1.0",END)
def get_cursor(self,ev):
cursr_row=self.Student_table.focus()
contents=self.Student_table.item(cursr_row)
row=contents['values']
self.roll_no_var.set(row[0])
self.name_var.set(row[1])
self.email_var.set(row[2])
self.contact_var.set(row[3])
self.gender_var.set(row[4])
self.dob_var.set(row[5])
self.txt_addr.delete("1.0",END)
self.txt_addr.insert(END,row[6])
def update_data(self):
con=pymysql.connect(host='localhost',user='root',password='root',database='stm')
cur=con.cursor()
cur.execute("update students set
name=%s,email=%s,gender=%s,contact=%s,dob=%s,addr=%s where roll_no=%s ;",(
self.name_var.get(),
self.email_var.get(),
self.gender_var.get(),
self.contact_var.get(),
self.dob_var.get(),
self.txt_addr.get('1.0',END),
self.roll_no_var.get()
))
con.commit()
self.fetch_data()
self.clear()
con.close()
def delete_data(self):
con=pymysql.connect(host='localhost',user='root',password='root',database='stm')
cur=con.cursor()
cur.execute("delete from students where roll_no=%s;",self.roll_no_var.get())
con.commit()
con.close()
self.fetch_data()
self.clear()
def search_data(self):
con=pymysql.connect(host='localhost',user='root',password='root',database='stm')
cur=con.cursor()
cur.execute("select * from students where "+str(self.search_by.get())+" LIKE
'%"+str(self.search_txt.get())+"%'")
rows=cur.fetchall()
if len(rows)!=0:
self.Student_table.delete(*self.Student_table.get_children())
for row in rows:
self.Student_table.insert('',END,values=row)
con.commit()
con.close()
root=Tk()
ob=Student(root)
root.mainloop()
Biblography
(Books Reference)
 “Computer Science with Python”
by Sumita Arora.
 “Information Practices with
Python” by Sumita Arora.
(Web Reference)
 www.pythonprojects.com
 www.1000projects.com
 www.wikipedia.com

More Related Content

PDF
Computer Project for class 12 CBSE on school management
PDF
DevSecOps: Finding the Adversaries in our Midst
PDF
PPTX
aryan ppt.pptx of class 12 for computer science
PPTX
Programming
PDF
qeqeqeqeqqewqeqweeqeqeqeqwqeKORNIKA B&W.pdf
PPTX
interface with mysql.pptx
PDF
012. SQL.pdf
Computer Project for class 12 CBSE on school management
DevSecOps: Finding the Adversaries in our Midst
aryan ppt.pptx of class 12 for computer science
Programming
qeqeqeqeqqewqeqweeqeqeqeqwqeKORNIKA B&W.pdf
interface with mysql.pptx
012. SQL.pdf

Similar to Student management system(1) converted (20)

PPTX
unit-5 SQL 1 creating a databse connection.pptx
PDF
Interface python with sql database10.pdf
PDF
MySQL for Python_ Nho Vĩnh Share.pdf
PDF
sumit report inventory management python project.pdf
PDF
My Sq Ldb Tut
PPTX
Pyhton with Mysql to perform CRUD operations.pptx
PPTX
MYSQL -1.pptx
PPTX
School-Management-A-Python-and-MySQL-Solution.pptx
PPTX
2. Getting Started with Python second lesson .pptx
PDF
Sample for class 12 computer science_2024-25
PDF
Interface Python with MySQL.pdf
PPTX
Integrating Python with SQL (12345).pptx
PPTX
015. Interface Python with sql interface ppt class 12
PPTX
Interface Python with MySQLwedgvwewefwefwe.pptx
PPT
Spsl vi unit final
PPT
Spsl v unit - final
PPTX
Presentation 15 (1)
PPT
Master Python Basics Easily – From Zero to Real-World Applications for UG Stu...
PPTX
Python programming basic Presentation.pptx
PPTX
yash shakya.pptx
unit-5 SQL 1 creating a databse connection.pptx
Interface python with sql database10.pdf
MySQL for Python_ Nho Vĩnh Share.pdf
sumit report inventory management python project.pdf
My Sq Ldb Tut
Pyhton with Mysql to perform CRUD operations.pptx
MYSQL -1.pptx
School-Management-A-Python-and-MySQL-Solution.pptx
2. Getting Started with Python second lesson .pptx
Sample for class 12 computer science_2024-25
Interface Python with MySQL.pdf
Integrating Python with SQL (12345).pptx
015. Interface Python with sql interface ppt class 12
Interface Python with MySQLwedgvwewefwefwe.pptx
Spsl vi unit final
Spsl v unit - final
Presentation 15 (1)
Master Python Basics Easily – From Zero to Real-World Applications for UG Stu...
Python programming basic Presentation.pptx
yash shakya.pptx
Ad

Recently uploaded (20)

PDF
OSCE Series ( Questions & Answers ) - Set 6.pdf
PDF
04 dr. Rahajeng - dr.rahajeng-KOGI XIX 2025-ed1.pdf
PPTX
Human Reproduction: Anatomy, Physiology & Clinical Insights.pptx
PDF
OSCE SERIES ( Questions & Answers ) - Set 5.pdf
PPTX
preoerative assessment in anesthesia and critical care medicine
PPTX
09. Diabetes in Pregnancy/ gestational.pptx
PDF
Comparison of Swim-Up and Microfluidic Sperm Sorting.pdf
PPTX
Neoplasia III.pptxjhghgjhfj fjfhgfgdfdfsrbvhv
PPT
neurology Member of Royal College of Physicians (MRCP).ppt
PPTX
Reading between the Rings: Imaging in Brain Infections
PPT
Rheumatology Member of Royal College of Physicians.ppt
PPTX
Vaccines and immunization including cold chain , Open vial policy.pptx
PPTX
Effects of lipid metabolism 22 asfelagi.pptx
PDF
Calcified coronary lesions management tips and tricks
PPT
nephrology MRCP - Member of Royal College of Physicians ppt
PPTX
NUCLEAR-MEDICINE-Copy.pptxbabaabahahahaahha
PPTX
Hearthhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
PDF
OSCE SERIES ( Questions & Answers ) - Set 3.pdf
PPTX
HYPERSENSITIVITY REACTIONS - Pathophysiology Notes for Second Year Pharm D St...
PDF
MNEMONICS MNEMONICS MNEMONICS MNEMONICS s
OSCE Series ( Questions & Answers ) - Set 6.pdf
04 dr. Rahajeng - dr.rahajeng-KOGI XIX 2025-ed1.pdf
Human Reproduction: Anatomy, Physiology & Clinical Insights.pptx
OSCE SERIES ( Questions & Answers ) - Set 5.pdf
preoerative assessment in anesthesia and critical care medicine
09. Diabetes in Pregnancy/ gestational.pptx
Comparison of Swim-Up and Microfluidic Sperm Sorting.pdf
Neoplasia III.pptxjhghgjhfj fjfhgfgdfdfsrbvhv
neurology Member of Royal College of Physicians (MRCP).ppt
Reading between the Rings: Imaging in Brain Infections
Rheumatology Member of Royal College of Physicians.ppt
Vaccines and immunization including cold chain , Open vial policy.pptx
Effects of lipid metabolism 22 asfelagi.pptx
Calcified coronary lesions management tips and tricks
nephrology MRCP - Member of Royal College of Physicians ppt
NUCLEAR-MEDICINE-Copy.pptxbabaabahahahaahha
Hearthhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
OSCE SERIES ( Questions & Answers ) - Set 3.pdf
HYPERSENSITIVITY REACTIONS - Pathophysiology Notes for Second Year Pharm D St...
MNEMONICS MNEMONICS MNEMONICS MNEMONICS s
Ad

Student management system(1) converted