a1440355978
import MySQLdb #导入MySQL模块

class Student: #创建student类
def __init__(self):
self.db = None
self.cursor = None
self.connect() #链接数据库

def connect(self):
self.db = MySQLdb.connect(host = \'localhost\',user = \'root\',passwd = \'123456\',db = \'student_1\')
self.cursor = self.db.cursor()

def start(self):#主菜单
while True:
self.menu1()
num = raw_input(\'请输入要选择的功能:\')
print num.isdigit()
if num.isdigit() == False:
continue
num = int(num)
if num == 1:
self.showStudent()
elif num == 2:
self.addStudent()
elif num == 3:
self.delStudent()
elif num == 4:
self.updateStudent()
elif num == 5:
print \'已成功退出系统\'
self.close()
break

def showStudent(self):#查看学生
while True:
self.menu2()
num = input(\'请选择功能:(0—3)\')
if num == 1:
print \'ID 姓名 年龄 性别\'
self.cursor.execute(\'select * from student\')
for i in self.cursor.fetchall():
print i[0],i[1],i[2],i[3]
elif num == 2:
sid = input(\'请输入要查询的ID:\')
self.cursor.execute(\'select * from student where id = %d\'%sid)
if self.cursor.rowcount == 0:
print \'没有相关学生\'
else:
print \'ID 姓名 年龄 性别\'
for i in self.cursor:
print i[0],i[1],i[2],i[3]
elif num == 3:
sname = raw_input(\'请输入姓名:\')
self.cursor.execute("select * from student where name = \'%s\'"%sname)
if self.cursor.rowcount == 0:
print \'没有相关学生\'
else:
print \'ID 姓名 年龄 性别\'
for i in self.cursor.fetchall():
print i[0],i[1],i[2],i[3]
else:
self.start()
break

def addStudent(self):#添加学生
while True:
sname = raw_input(\'请输入学生的姓名:\')
sage = raw_input(\'请输入学生的年龄:\')
ssax = raw_input(\'请输入学生的性别:\')
try:
sql = \'insert into student(name,age,sax) values(%s,%s,%s)\'
self.cursor.execute(sql,(sname,sage,ssax))
self.db.commit()
print \'添加数据库成功\'
except:
self.db.rollback()
print \'添加数据库失败\'
q = raw_input(\'任意键继续,Q键退出\').lower()
if q == \'q\':
break

def delStudent(self):#删除学生
self.menu3()
num = input(\'请选择需要的功能:\')
if num == 1:
sid = raw_input(\'请输入一个ID或者一组ID:\')
list1 = sid.split(\' \')
print list1
list2 = map(lambda x:(int(x),),list1)
print list2
sql =\'delete from student where id =%s\'
try:
self.cursor.executemany(sql,list2)
self.db.commit()
print \'删除成功\'
except:
print \'删除失败\'
self.db.rollback()
elif num == 2:
sname = raw_input(\'请输入要删除的学生姓名:\')
try:
self.cursor.execute("delete from student where name =\'%s\'"%sname)
self.db.commit()
print \'删除成功!\'
except:
print \'删除失败!\'
self.db.rollback()
else:
pass

def updateStudent(self):#修改学生信息
sid = input(\'请输入要修改的ID:\')
sname = raw_input(\'请输入新的姓名:\')
sage = raw_input(\'请输入新的年龄:\')
ssax = raw_input(\'请输入新的性别:\')
try:
self.cursor.execute("update student set name=\'%s\',age=%s,sax=\'%s\' where id = %s"%(sname,sage,ssax,sid))
self.db.commit()
print \'修改成功!\'
except:
print \'修改失败!\'
self.db.rollback()

def menu1(self):
print """
---------------学生管理系统---------------
1 查询学生
2 添加学生
3 删除学生
4 修改学生
5 退出系统
------------------------------------------
"""

def menu2(self):
print """
----------查询学生----------
0 返回主菜单
1 查询所有学生
2 按ID查询
3 按姓名查询
----------------------------
"""
def menu3(self):
print """
----------删除学生----------
0 返回主菜单
1 按ID删除
2 按姓名删除
"""

def close(self):
self.db.close()

if __name__ == \'__main__\':
student =Student()
student.start()

分类:

技术点:

相关文章:

  • 2021-09-10
  • 2021-11-28
  • 2021-12-29
  • 2021-11-18
  • 2021-10-06
  • 2021-11-05
  • 2021-11-04
  • 2021-07-10
猜你喜欢
  • 2021-12-22
  • 2021-11-18
  • 2021-10-26
  • 2021-11-18
  • 2021-11-18
  • 2021-11-28
相关资源
相似解决方案