Teacher Management (IP)
Teacher Management (IP)
Session- 2020-21
Informatics Practices
(065)
1
DECLARATION
I RIYA STUDENT OF CLASS XII ‘A’, ROLL NO. 22697816 HEREBY DECLARE THAT THE
PRESENTED PROJECT WORK ON ‘TEACHER’S INFO IS AN ORIGINAL CONTENT. THIS
PROJECT WORK HAD NOT BEEN SUBMITTED EARLIER TO ANY OTHER BOARD OR
TO THE SAME BOARD FOR THE FULFILLMENT OF COURSE OF STUDY. IT HAS DONE
BY ME WITH MY GUIDE MR. ANUP SINGH AND WITH MY FRIENDS.
2
PROJECT WORK
ON
TEACHER’S INFO.
SUBMITTED BY:
NAME: RIYA
3
ACKNOWLEDGEMENT
THIS IS TO ACKNOWLWDEGE THE CO-OPERATION OF ALL THE INDIVIDUALS WHO
HAVE PLAYED A KEY ROLE IN THE SUCCESS OF THIS PROJECT, WHO HAVE
INSPIRED, MENTORED, DIRECTED AND SEEN THE PROJECT THROUGH ITS
COMPLETION.
NAME:Riya Kumari
ENROLLMENT:22697816
4
INDEX
6
TOOLS AND PLATFORM USED
7
My SQL Database
8
TABLE STRUCTURE
PYTHON 9
OUTPUT 23-30
LIMITATION 31
BIBLIOGRAPHY 32
5
TOOLS AND PLATFORM USED
SOFTWARE
HARDWARE
PROCESSOR : AMD A8
RAM :512MB
6
My SQL Database
MySQL is a fast, easy-to-use RDBMS being used for many small and big
businesses. MySQL is developed, marketed and supported by MySQL,
which is a Swedish company. MySQL is becoming so popular because of
many good reasons –
In this project MySQL server and Python connector is used. MySQL server
is used to store the data and MySQL-Python connector is used to connect
the program of Python to MySQL server client.
7
TABLE STRUCTURE
8
Python
Python is a popular programming language. It was created by
Guido van Rossum, and released in 1991.
It is used for:
9
10
CODING
For mysql connection (to be run once only)
import mysql.connector as sql
c1=conn.cursor()
c1.execute("use school")
def guestgr():
def deptgraph():
import pymysql
d1=pymysql.connect(host="localhost",user="root",passwd="root",database="school")
11
c1=d1.cursor()
c1.execute(quer)
x=c1.fetchone()
lst=list(x)
c1.execute(quer)
y=c1.fetchone()
lst1=list(y)
c1.execute(quer)
z=c1.fetchone()
lst2=list(z)
c1.execute(quer)
a=c1.fetchone()
lst3=list(a)
c1.execute(quer)
d1.commit()
a=c1.fetchone()
lst4=list(a)
lstt=lst+lst1+lst2+lst3+lst4
y=["English","History","PolSci","Economics","IP"]
plt.bar(y,lstt,width=0.50)
plt.xlabel("Subjects")
12
plt.ylabel("No. of teachers")
plt.show()
deptgraph()
def sexgraph():
import pymysql
d1=pymysql.connect(host="localhost",user="root",passwd="root",database="school")
c1=d1.cursor()
c1.execute(quer)
x=c1.fetchone()
lst=list(x)
c1.execute(quer)
y=c1.fetchone()
lst1=list(y)
lstt=lst+lst1
y=["Male","Female"]
plt.bar(y,lstt,width=0.50)
plt.xlabel("Sex")
plt.ylabel("no. of teachers")
plt.show()
sexgraph()
13
if x==1:
deptgraph()
elif x==2:
sexgraph()
elif x!=[1,2]:
print("INVAILD INPUT")
guestgr()
def showallrecords():
import pymysql
import pandas as pd
pd.set_option('display.expand_frame_repr',False)
d1=pymysql.connect(host="localhost",user="root",passwd="root",database="school")
df=pd.read_sql("select*from teachers;",d1)
print(df)
def addrecords():
import pymysql
d1=pymysql.connect(host="localhost",user="root",passwd="root",database="school")
c1=d1.cursor()
print("")
14
print("")
ans1="yes"
while ans1=="yes":
c1.execute(quer1)
if c1.rowcount>0:
print("duplicate record")
elif c1.rowcount==0:
ans1="no"
ans1="yes"
while ans1=="yes":
c1.execute(quer)
if c1.rowcount>0:
print("DUPLICATE RECORD")
elif c1.rowcount==0:
ans1="no"
%d);" %(x,y,a,b,c,z,v)
15
c1.execute(quer)
d1.commit()
print("Record Added")
if f=="y":
c1.execute(quer)
rec=c1.fetchone()
tid,name,dept,joindate,gender,contact,sal=rec
%s"%contact,"salary= %d"%sal,sep="\n")
else:
print("Thank You")
def search():
import pymysql
import pandas as pd
d1=pymysql.connect(user="root",host="localhost",passwd="root",database="school")
c1=d1.cursor()
if x==1:
c1.execute(quer)
16
if c1.rowcount>0:
lst=list(c1.fetchone())
iddf=pd.DataFrame({"id":lst[0],"name":lst[1],"dept":lst[2],"joindate":lst[3],"gender":lst[4],"c
ontact":lst[5],"salary":lst[6]},index=[1])
print(iddf)
elif c1.rowcount==0:
print("NO RECORD")
elif x==2:
c1.execute(quer1)
if c1.rowcount>0:
row1=list(c1.fetchall()[0])
iddf=pd.DataFrame({"id":row1[0],"name":row1[1],"dept":row1[2],"joindate":row1[3],"gend
er":row1[4],"contact":row1[5],"salary":row1[6]},index=[1])
print(iddf)
else:
print("NO RECORD")
else:
print("INVAILD INPUT")
def delete():
import pymysql
d1=pymysql.connect(host="localhost",user="root",passwd="root",database="school")
17
c1=d1.cursor()
rowcount=c1.execute(quer)
if rowcount>0:
d1.commit()
print("Record Deleted")
else:
def changerecord():
import pymysql
import pandas as pd
pd.set_option('display.expand_frame_repr',False)
d1=pymysql.connect(user="root",host="localhost",passwd="root",database="school")
c1=d1.cursor()
c1.execute(quer)
if c1.rowcount>0:
row=list(c1.fetchone())
print('')
df=pd.DataFrame({"id":row[0],"name":row[1],"department":row[2],"joindate":row[3],"gend
er":row[4],"contact":row[5],"salary":row[6]},index=[1])
print(df)
18
print("\n1. id \n2. name \n3. department \n4. joindate \n5. gender \n6. contact \n7.
salary")
if cr==1:
ans1='yes'
while ans1=="yes":
c1.execute(quer1)
if c1.rowcount>0:
print("DUPLICATE RECORD")
elif c1.rowcount==0:
ans1="no"
c1.execute(quer)
d1.commit()
print("RECORD CHANGED")
elif cr==2:
c1.execute(quer)
d1.commit()
print("RECORD CHANGED")
elif cr==3:
19
c1.execute(quer)
d1.commit()
print("RECORD CHANGED")
elif cr==4:
c1.execute(quer)
d1.commit()
print("RECORD CHANGED")
elif cr==5:
c1.execute(quer)
d1.commit()
print("RECORD CHANGED")
elif cr==6:
ans1="yes"
while ans1=="yes":
c1.execute(quer1)
if c1.rowcount>0:
print("DUPLICATE RECORD")
elif c1.rowcount==0:
ans1="no"
20
c1.execute(quer)
d1.commit()
print("RECORD CHANGED")
elif cr==7:
c1.execute(quer)
d1.commit()
print("RECORD CHANGED")
elif cr!=[1,2,3,4,5,6,7]:
print("INVAILD INPUT")
elif c1.rowcount==0:
print("1. show all the records of teachers \n2. add records of a teacher \n3. search
records \n4. delete record \n5. Graphical representation \n6. Change values of records")
if x==1:
showallrecords()
21
elif x==2:
addrecords()
elif x==3:
search()
elif x==4:
delete()
elif x==5:
guestgr()
elif x==6:
changerecord()
elif x!=[1,2,3,4,5]:
print("\t\tINVAILD INPUT")
ans=input("want to continue:")
conn.commit()
22
23
MENU
24
SHOWING ALL RECORDS
25
ADDING RECORDS
26
SEARCH REORD
27
DELETING RECORD
GRAPHICAL REPRESENTATION
28
CHANGING VALUES OF RECORD
29
LIMITATION
30
1. PROGRAM HAS TO BE RUN EACH TIME AFTER PROCESSING
ONE PROCESS.
2. DELETED RECORD CAN’T BE RESTORED.
3. IT IS AN OFFLINE WORKING WORKING PROGRAM.
4. WE CAN’T RUN SQL CODING PROGRAM TWICE OR MORE.
5. IF YOU HAVE WRITTEN THE WRONG DATA, YOU CAN’T JUST
ERASE AND WRITE THEM CORRECTLY. YOU HAVE RE-RUN
THE PROGRAM FOR IT.
6.
31
BIBLIOGRAPHY
HELP TAKEN TO COMPLETE THIS PROJECT IS FROM:
GUIDE MR. ANUP KUMAR SINGH
MY FRIEND VIKAS KUMAR
Google.co.in
32