用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群聊提示(python-itchat 统计微信群、好友数量,及原始消息数据的实例)
- python数组与矩阵转换(python 读取文件并把矩阵转成numpy的两种方法)
- python 时间戳转化为格式(Python datetime和unix时间戳之间相互转换的讲解)
- python多线程多种方法(详解python多线程之间的同步一)
- docker镜像内安装python包(如何使用Docker搭建pypi私有仓库)
- pythonrequests框架实例(Python requests模块实例用法)
- pythonhtml文件分析(对Python3 解析html的几种操作方式小结)
- eval在python里面什么意思(python 为什么说eval要慎用)
- pycharm怎么创建django项目(Python、 Pycharm、Django安装详细教程图文)
- python炫酷烟花源代码(python实现浪漫的烟花秀)
- python统计出现文字最多的词(使用Python 统计高频字数的方法)
- python3.8基本操作(Python3.5文件修改操作实例分析)
- python中jieba库怎么用(详解Python数据可视化编程 - 词云生成并保存jieba+WordCloud)
- python编程ide工具(这6款Python IDE&代码编辑器,你都用过吗?)
- pythonlogging模块教学(详解Python logging调用Logger.info方法的处理过程)
- python如何把字符串转换成数字(python实现字符串加密成纯数字)
- 新闻周刊 青岛网红 赵厂长 编段子一箩筐输出快乐,陪父亲十二载勇斗病魔(新闻周刊青岛网红)
- 44岁夏雨演谋女郎爸,大其24岁却看不出,互动不怕袁泉吃醋(44岁夏雨演谋女郎爸)
- 全椒人,你还记得吗 那年,那人,那网,那些我们的青春记忆(全椒人你还记得吗)
- 全椒人在苏州10周年联谊会在苏州举办(全椒人在苏州10周年联谊会在苏州举办)
- 这个全椒人被通报表彰,看看你认识吗(这个全椒人被通报表彰)
- 全椒人,38年集体回忆 1980-2018 ,看完不要哭(全椒人38年集体回忆)
热门推荐
- 宝塔nginx配置修改(宝塔面板安装Tengine报错:nginx: [emerg] invalid IPv6 address in resolver)
- sqlserver判断条件输出字符(SQL Server查询条件IN中能否使用变量的示例详解)
- dedecms调用方法(DEDECMS专题制作方法)
- python下的sql处理(python中aioysql异步操作MySQL的方法)
- 小程序ui图与移动ui(AmazeUI 缩略图的实现示例)
- 聚集索引和非聚集索引的区别有哪些
- 宝塔小程序制作(宝塔面板微信小程序使用图文教程)
- python模块化打包(python使用Paramiko模块实现远程文件拷贝)
- linux安装php目录路径修改(ubuntu环境下的php相关路径与修改方法)
- python ssh登录服务器(python利用跳板机ssh远程连接redis的方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9