用mysql语句写python学生管理系统(Python基于mysql实现学生管理系统)
类别:脚本大全 浏览量:1369
时间:2022-01-25 00:05:03 用mysql语句写python学生管理系统
Python基于mysql实现学生管理系统本篇文章主要介绍了Python基于mysql实现学生管理系统,分享给大家,具体如下:
|
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
您可能感兴趣
- python配合docker(Docker构建python Flask+ nginx+uwsgi容器)
- 怎样在python中散点图(python使用Plotly绘图工具绘制散点图、线形图)
- python下载后依然打不开文件(解决python打不开文件文件不存在的问题)
- python 迭代对象必须实现哪些方法(详解python之heapq模块及排序操作)
- python合并多个excel可以刷新吗(python 实现读取一个excel多个sheet表并合并的方法)
- python numpy矩阵详解(基于Numpy.convolve使用Python实现滑动平均滤波的思路详解)
- python 常用模块函数(Python OOP类中的几种函数或方法总结)
- python指定参数教程(详解Python传入参数的几种方法)
- 用python怎么找工作(利用python如何在前程无忧高效投递简历)
- python使用aes加密解密(python实现AES加密与解密)
- 超简单使用Python换脸实例(超简单使用Python换脸实例)
- python的def命令参数(python ddt数据驱动最简实例代码)
- python 数据库实现学生管理系统(python+mysql实现教务管理系统)
- python开发网站github(使用 Python 玩转 GitHub 的贡献板推荐)
- python图像仿射变换(详解Python计算机视觉 图像扭曲仿射扭曲)
- python读取word的表格(Python使用reportlab模块生成PDF格式的文档)
- 寒假余额不满24小时,不如来一场说走就走的亲子阅读之旅(寒假余额不满24小时)
- 省委书记出席的交流会,十位县委书记同场发言,代表公文材料的高水平(省委书记出席的交流会)
- 《刘老根3》热播,去世15年的她却再次被 伤害(去世15年的她却再次被)
- 十二星座爱情支配欲指数(十二星座爱情支配欲指数)
- 虐待儿童是发泄支配欲的愚蠢行为(虐待儿童是发泄支配欲的愚蠢行为)
- 你或许不知道你隐藏的支配欲望(你或许不知道你隐藏的支配欲望)
热门推荐
- docker的解剖(再见 Docker如何5分钟转型 containerd)
- python选择排序最大最小同时排序(Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例)
- sqlserver纵表变横表(SQL Server行转列的方法解析)
- thinkphp5开发小程序后台(PHP小程序支付功能完整版基于thinkPHP)
- vue 富文本图片上传(vue.js云存储实现图片上传功能)
- 如何判断sql中的字符(SQL中字符串中包含字符的判断方法)
- mysql千万数据如何优化(MySQL千万级数据的表如何优化)
- 面试时问如何理解团队合作该怎么回答
- js中字符串拼接
- angular怎么创建声明(使用Angular CDK实现一个Service弹出Toast组件功能)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9