当前位置:脚本大全 > > 正文

用mysql语句写python学生管理系统(Python基于mysql实现学生管理系统)

时间:2022-01-25 00:05:03类别:脚本大全

用mysql语句写python学生管理系统

Python基于mysql实现学生管理系统

本篇文章主要介绍了Python基于mysql实现学生管理系统,分享给大家,具体如下:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • import pymysql
  • import re
  •  
  • def idinput(string):
  •  ID = input(string)
  •  pattern = re.compile("^\d{1,3}$")
  •  while not re.match(pattern, ID):
  •   ID = input("请输入1-3位整数:")
  •  return ID
  •  
  • def appendStudentInfo():
  •  ID =idinput("请输入学生学号:")
  •  db=pymysql.connect(host="127.0.0.1",user="root",passwd="hisense",db="test",port=3306,charset="utf8")
  •  cursor=db.cursor()
  •  sql = "select * from StuSys where ID = '%s'" % ID
  •  cursor.execute(sql)
  •  while cursor.rowcount > 0 :
  •   ID = idinput("该学号已存在,请重新输入:")
  •   sql = "select * from StuSys where ID = '%d'" % int(ID)
  •   cursor.execute(sql)
  •  
  •  name=input("请输入学生姓名:")
  •  
  •  chinese=input("请输入语文成绩:")
  •  while not chinese.isdigit() or int(chinese)>100 or int(chinese)<0:
  •   chinese = input("输入错误,请重新输入:")
  •  
  •  math =input("请输入数学成绩:")
  •  while not math.isdigit() or int(math) > 100 or int(math) < 0:
  •   math = input("输入错误,请重新输入:")
  •  
  •  english=input("请输入英语成绩:")
  •  while not english.isdigit() or int(english) > 100 or int(english) < 0:
  •   english = input("输入错误,请重新输入:")
  •  
  •  total=int(chinese)+int(math)+int(english)
  •  
  •  sql="""INSERT INTO StuSys(ID,
  •    NAME,CHINESE,ENGLISH,MATH,TOTAL)
  •    VALUES (%s,%s,%s,%s,%s,%s)"""
  •  cursor.execute(sql,(ID,name,chinese,english,math,total))
  •  db.commit()
  •  db.close()
  •  
  • def delstudent():
  •  delstudentid = idinput("请输入要删除的学生学号:")
  •  if querystudent(delstudentid):
  •   select = input("是否删除:是(Y)/否(N)")
  •   if select == "Y" or select == "y":
  •    db = pymysql.connect(host="127.0.0.1", user="root", passwd="hisense", db="test", port=3306, charset="utf8")
  •    cursor = db.cursor()
  •    sql = "delete from stusys where ID =%s" %delstudentid
  •    cursor.execute(sql)
  •    db.commit()
  •    db.close()
  •    print("删除成功")
  •   elif select == "N" or select == "n":
  •    print("取消删除")
  •   else:
  •    print("输入错误")
  •  
  •  
  • def querystudent(querystudentid):
  •  db=pymysql.connect(host="127.0.0.1",user="root",passwd="hisense",db="test",port=3306,charset="utf8")
  •  cursor=db.cursor()
  •  sql="select * from stusys where ID=%s"%querystudentid
  •  cursor.execute(sql)
  •  if cursor.rowcount ==0 :
  •   print("不存在该学生信息")
  •   return False
  •  else:
  •   print("该学生信息如下:")
  •   results =cursor.fetchall()
  •   print("ID=%d,NAME=%s,CHINESE=%d,ENGLISH=%d,MATH=%d,TOTAL=%d" % \
  •    (results[0][0], results[0][1], results[0][2], results[0][3], results[0][4],results[0][5]))
  •   return True
  •  
  • def modifystudentifo():
  •  modifyid = idinput("请输入要的学生学号:")
  •  if querystudent(modifyid):
  •   name = input("请重新输入学生姓名:")
  •  
  •   chinese = input("请重新输入语文成绩:")
  •   while not chinese.isdigit() or int(chinese) > 100 or int(chinese) < 0:
  •    chinese = input("输入错误,请重新输入:")
  •  
  •   math = input("请重新输入数学成绩:")
  •   while not math.isdigit() or int(math) > 100 or int(math) < 0:
  •    math = input("输入错误,请重新输入:")
  •  
  •   english = input("请重新输入英语成绩:")
  •   while not english.isdigit() or int(english) > 100 or int(english) < 0:
  •    english = input("输入错误,请重新输入:")
  •  
  •   total = int(chinese) + int(math) + int(english)
  •   db = pymysql.connect(host="127.0.0.1", user="root", passwd="hisense", db="test", port=3306, charset="utf8")
  •   cursor = db.cursor()
  •   sql1="update stusys set name ='%s' where id = %s"%(name,modifyid)
  •   cursor.execute(sql1)
  •   sql2="update stusys set math = %s where id = %s"%(math,modifyid)
  •   cursor.execute(sql2)
  •   sql3 = "update stusys set english = %s where id =%s"%(english,modifyid)
  •   cursor.execute(sql3)
  •   sql4 = "update stusys set total = %s where id = %s"%(total,modifyid)
  •   cursor.execute(sql4)
  •   sql5 = "update stusys set chinese = %s where id = %s"%(chinese,modifyid)
  •   cursor.execute(sql5)
  •   db.commit()
  •   db.close()
  •  
  • def allinfo():
  •  db=pymysql.connect(host="127.0.0.1",user="root",passwd="hisense",db="test",port=3306,charset="utf8")
  •  cursor=db.cursor()
  •  sql="select * from stusys"
  •  cursor.execute(sql)
  •  results= cursor.fetchall()
  •  for row in results:
  •   ID = row[0]
  •   NAME = row[1]
  •   CHINESE = row[2]
  •   ENGLISH = row[3]
  •   MATH = row[4]
  •   TOTAL = row[5]
  •   # 打印结果
  •   print("ID=%d,NAME=%s,CHINESE=%d,ENGLISH=%d,MATH=%d,TOTAL=%d" % \
  •     (ID, NAME, CHINESE, ENGLISH, MATH,TOTAL))
  •  
  • def studentMenu():
  •  print("="*30)
  •  print("学生管理系统")
  •  print("1、添加学生信息")
  •  print("2、删除学生信息")
  •  print("3、查询学生信息")
  •  print("4、修改学生信息")
  •  print("5、全部学生信息")
  •  print("6、退出")
  •  print("="*30)
  •  
  •  
  •  
  • if __name__ == '__main__':
  •  
  •  while True:
  •   studentMenu()
  •   menuindex = input("请输入选项序号:")
  •   while not menuindex.isdigit():
  •    menuindex = input("输入错误,请重新输入:")
  •   if int(menuindex) ==1:
  •    appendStudentInfo()
  •   elif int(menuindex) ==2:
  •    delstudent()
  •   elif int(menuindex) ==3:
  •    querystudentid = idinput("请输入要查询的学生学号:")
  •    querystudent(querystudentid)
  •   elif int(menuindex) ==4:
  •     modifystudentifo()
  •   elif int(menuindex) == 5:
  •     allinfo()
  •   elif int(menuindex) == 6:
  •    break
  •   else:
  •    print("输入序号无效")
  • 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。

    原文链接:https://blog.csdn.net/yaoliuwei1426/article/details/81101333

    上一篇下一篇

    猜您喜欢

    热门推荐