0% found this document useful (0 votes)
7 views

Connectivity Journal

sql and python connection
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Connectivity Journal

sql and python connection
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Aim: To establish a connection between a Python application and an SQL

database for executing queries and managing data.

import mysql.connector as mcon

mycon=mcon.connect(host="localhost",user="root",passwd='adis',database="hadi")
mycur=mycon.cursor()
header=[]

def create():
try:
query="create table student1 (regno int(5) primary key, name varchar(15),
stream varchar(15), avg int(7));"
mycur.execute(query)

except Exception as e:
print(e)

def insert():
try:
regno=int(input("Enter regno: "))
name=input("Enter name: ")
stream=input("Enter stream: ")
avg=int(input("Enter avg: "))
query="insert into student1 values({},'{}','{}',
{})".format(regno,name,stream,avg)
mycur.execute(query)
mycon.commit()

except Exception as e:
print(e)

def delete():
try:
regno=int(input("Enter regno to be removed: "))
query="delete from student1 where regno={}".format(regno)
mycur.execute(query)
mycon.commit()

except Exception as e:
print(e)
def update():
try:
regno=int(input("Enter regno to be updated: "))
name=input("Enter new name: ")
stream=input("Enter new stream: ")
avg=int(input("Enter new avg: "))
query="update student1 set name='{}',stream='{}',avg={} where
regno={}".format(name,stream,avg,regno)
mycur.execute(query)
mycon.commit()

except Exception as e:
print(e)

def display_all():
try:
query="select * from student1"
mycur.execute(query)
rs=mycur.fetchall()
print("regno name stream avg",end=' ')
for i in header:
print(i,end=' ')
print()
for i in rs:
for j in i:
print(j,end=' ')
print()

except Exception as e:
print(e)

def alter_add():
try:
column=input("Enter column to be added: ")
datatype=input("Enter datatype of column: ")
query="alter table student1 add {} {}".format(column,datatype)
mycur.execute(query)
mycon.commit()
global header
header.append(column)

except Exception as e:
print(e)
def alter_drop():
try:
column=input("Enter column to be dropped: ")
query="alter table student1 drop {}".format(column)
global header
header.remove(column)
mycur.execute(query)
mycon.commit()

except Exception as e:
print(e)

def searchbyname():
try:
name=input("Enter name to search based on: ")
query="select * from student1 where name='{}'".format(name)
mycur.execute(query)
rs=mycur.fetchall()
print("regno name stream avg",end=' ')
for i in header:
print(i,end=' ')
print()
for i in rs:
for j in i:
print(j,end=' ')
print()

except Exception as e:
print(e)

def searchbyregno():
try:
regno=int(input("Enter regno to search based on: "))
query="select * from student1 where regno={}".format(regno)
mycur.execute(query)
rs=mycur.fetchall()
print("regno name stream avg",end=' ')
for i in header:
print(i,end=' ')
print()
for i in rs:
for j in i:
print(j,end=' ')
print()

except Exception as e:
print(e)
def searchbystream():
try:
stream=input("Enter stream to search based on: ")
query="select * from student1 where stream='{}'".format(stream)
mycur.execute(query)
rs=mycur.fetchall()
print("regno name stream avg",end=' ')
for i in header:
print(i,end=' ')
print()
for i in rs:
for j in i:
print(j,end=' ')
print()
except Exception as e:
print(e)
def menu():
while True:
print()
print("1. display_all")
print("2. searchbyname")
print("3. searchbyregno")
print("4. searchbystream")
print("5. insert")
print("6. delete")
print("7. alter_add")
print("8. alter_drop")
print("9. update")
print("10. exit")
ch=int(input("enter choice: "))
print()
if ch==1:
display_all()
elif ch==2:
searchbyname()
elif ch==3:
searchbyregno()
elif ch==4:
searchbystream()
elif ch==5:
insert()
elif ch==6:
delete()
elif ch==7:
alter_add()
elif ch==8:
alter_drop()
elif ch==9:
update()
elif ch==10:
break
print("------------------------------------------------------")
menu()
Output:
1. display_all
2. searchbyname
3. searchbyregno
4. searchbystream
5. insert
6. delete
7. alter_add
8. alter_drop
9. update
10. exit
enter choice: 1

regno name stream avg


1 aarav pcmc 95
2 hadi pcmc 92
3 salam pcmb 99
4 aadil pcmb 92
------------------------------------------------------
1. display_all
2. searchbyname
3. searchbyregno
4. searchbystream
5. insert
6. delete
7. alter_add
8. alter_drop
9. update
10. exit
enter choice: 2
Enter name to search based on: hadi
regno name stream avg
2 hadi pcmc 92
------------------------------------------------------
1. display_all
2. searchbyname
3. searchbyregno
4. searchbystream
5. insert
6. delete
7. alter_add
8. alter_drop
9. update
10. exit
enter choice: 3

Enter regno to search based on: 2


regno name stream avg
2 hadi pcmc 92
------------------------------------------------------
1. display_all
2. searchbyname
3. searchbyregno
4. searchbystream
5. insert
6. delete
7. alter_add
8. alter_drop
9. update
10. exit
enter choice: 4

Enter stream to search based on: pcmc


regno name stream avg
1 aarav pcmc 95
2 hadi pcmc 92
------------------------------------------------------
1. display_all
2. searchbyname
3. searchbyregno
4. searchbystream
5. insert
6. delete
7. alter_add
8. alter_drop
9. update
10. exit
enter choice: 5

Enter regno: 5
Enter name: alman
Enter stream: pcmc
Enter avg: 95
------------------------------------------------------
1. display_all
2. searchbyname
3. searchbyregno
4. searchbystream
5. insert
6. delete
7. alter_add
8. alter_drop
9. update
10. exit
enter choice: 1
regno name stream avg
1 aarav pcmc 95
2 hadi pcmc 92
3 salam pcmb 99
4 aadil pcmb 92
5 alman pcmc 95
------------------------------------------------------
1. display_all
2. searchbyname
3. searchbyregno
4. searchbystream
5. insert
6. delete
7. alter_add
8. alter_drop
9. update
10. exit
enter choice: 6

Enter regno to be removed: 5


------------------------------------------------------
1. display_all
2. searchbyname
3. searchbyregno
4. searchbystream
5. insert
6. delete
7. alter_add
8. alter_drop
9. update
10. exit
enter choice: 7

Enter column to be added: rank


Enter datatype of column: char(1)
------------------------------------------------------
1. display_all
2. searchbyname
3. searchbyregno
4. searchbystream
5. insert
6. delete
7. alter_add
8. alter_drop
9. update
10. exit
enter choice: 1

regno name stream avg rank


1 aarav pcmc 95 None
2 hadi pcmc 92 None
3 salam pcmb 99 None
4 aadil pcmb 92 None
------------------------------------------------------
1. display_all
2. searchbyname
3. searchbyregno
4. searchbystream
5. insert
6. delete
7. alter_add
8. alter_drop
9. update
10. exit
enter choice: 8

Enter column to be dropped: rank


------------------------------------------------------
1. display_all
2. searchbyname
3. searchbyregno
4. searchbystream
5. insert
6. delete
7. alter_add
8. alter_drop
9. update
10. exit
enter choice: 9

Enter regno to be updated: 4


Enter new name: adiil
Enter new stream: pcmc
Enter new avg: 99
------------------------------------------------------
1. display_all
2. searchbyname
3. searchbyregno
4. searchbystream
5. insert
6. delete
7. alter_add
8. alter_drop
9. update
10. exit
enter choice: 10
------------------------------------------------------
Result: Successfully created a connection between the Python application
and the SQL database.

You might also like