python+mysql实现学生信息查询系统

yipeiwu_com5年前Python基础

本文实例为大家分享了python mysql学生信息查询系统的具体代码,供大家参考,具体内容如下

import pymysql
#import redis
#pool = redis.ConnectionPool(host='IP地址', port=6379, decode_responses=True)
 
while True:
 while True:
 # print('=' * 15)
 user = str(input('请输入用户名:'))
 passwd = str(input('请输入密码:'))
 # print('=' * 15)
 if passwd == 'root':
 print('=' * 20, '\n学生查询系统\n'
  '1.学院类型信息\n')
 print('=' * 20)
 break
 else :
 print('--请重新输入密码--')
 
 num = int(input('请输入功能相对应的数字:'))
 print()
 
 db = pymysql.connect('IP地址','MySQL用户名','MySQL密码','数据库', charset='utf8')
 cursor = db.cursor()
 if num == 1:
 sql = 'select type_id,name from school_type'
 cursor.execute(sql)
 results = cursor.fetchall()
 print('学院序号 学院名称')
 for row in results:
 print(row)
 print()
 num1 = int(input('请输入你想查看的学院对应数字:'))
 while True:
 if num1 == 1:
 print('-' * 15,'\n1 查看该学院介绍\n'
  '2 查看该学院开设专业\n'
  '0 返回上一层')
 print('-' * 15)
 num2 = int(input('请输入对应功能的数字:'))
 if num2 == 1:
 sql1 = 'select name,introduction from school_type'
 cursor.execute(sql1)
 results1 = cursor.fetchall()
 print('学院名字 学院简介')
 for row1 in results1:
  print(row1)
 elif num2 == 2:
 sql2 = 'select * from eie'
 cursor.execute(sql2)
 results2 =cursor.fetchall()
 print('序号 名字 班级数量')
 for row2 in results2:
  print(row2)
 break
 num3 = int(input('请输入想要查询专业名前所对应的数字:'))
 if num3 == 1:
 sql3 = 'select class_id,classname,number,manager from class join class_manager on(class.class_id = class_manager_id)'
 cursor.execute(sql3)
 results3 = cursor.fetchall()
 print(' 名称 人数 班主任')
 for row3 in results3:
 print(row3)
 num4 = int(input('请输入想要查询班级前所对应的数字:'))
 while True:
 if num4 == 1:
 print('-' * 20,'\n1、查看班级所有人信息\n'
 '2、添加学生信息\n'
 '3、删除学生信息\n'
 '4、修改学生信息\n'
 '0、退出系统')
 print('-' * 20)
 num5 = int(input('请选择功能(序号):'))
 if num5 == 1:
 sql4 = 'select student_name,sex,student_num,evaluation from cloud_one'
 cursor.execute(sql4)
 results4 = cursor.fetchall()
 print('姓名 性别 学号 评分')
 for row4 in results4:
 print(row4)
 elif num5 == 2:
 print('您选择了添加学生信息功能')
 name = str(input('请输入学生姓名:'))
 sex = str(input('请输入学生性别:'))
 studentnum = int(input('请输入学生学号(学号不可重复):'))
 pf = int(input('请输入学生评测分数:'))
 sql5 = 'insert into cloud_one(student_name,sex,student_num,evaluation) values("%s","%s",%d,%d)' % (name,sex,studentnum,pf)
 print(sql5)
 try:
 cursor.execute(sql5)
 db.commit()
 except:
 db.rollback()
 print('******已添加成功******')
 elif num5 == 3:
 print('您选择了删除学生信息功能')
 num6 = int(input('请您输入要删除的学号:'))
 sql6 = 'delete from cloud_one where student_num = %d'%num6
 try:
 cursor.execute(sql6)
 db.commit()
 except:
 db.rollback()
 print('******已删除成功******')
 elif num5 == 4:
 print('您选择了修改学生信息功能')
 num7 = int(input('请您输入要修改的学生学号'))
 sql7 = 'select student_name,sex,student_num,evaluation from cloud_one where student_num=%d'%num7
 cursor.execute(sql7)
 results5 = cursor.fetchall()
 print(' 姓名 性别 学号 评分')
 print(results5)
 xm = str(input('请输入您要更改的姓名:'))
 xb = str(input('请输入您要更改的性别:'))
 xh = int(input('请输入您要更改的学号:'))
 pf = int(input('请输入您要更改的评分:'))
 sql8 = 'update cloud_one set student_name="%s",sex="%s,student_num=%d,evaluation=%d' % (xm,xb,xh,pf)
 print(sql8)
 try:
 cursor.execute(sql8)
 db.commit()
 except:
 db.rollback()
 print('*****已更改成功****')
 elif num5 == 0:
 num8 = str(input('******你真的要离开宝宝吗******(Y/N):'))
 if num8 == 'Y':
 break
 else:
 continue

查看信息的时候,上面程序可以用pandas中的一种数据结构DataFrame优化一下。

可以网上了解一下DataFrame!!!!

这是我本人做的一些与上面程序有关的数据库。因为初学者,仅供参考

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python3 小数位的四舍五入(用两种方法解决round 遇5不进)

round( )函数简介 菜鸟教程中介绍到,round() 函数作用就是,返回浮点数x的四舍五入值。 > round( x [, n] ) 参数x,n均为数值表达式,返回值...

python numpy 部分排序 寻找最大的前几个数的方法

如下所示: import numpy as np K=4 a = np.array([0, 8, 0, 4, 5, 8, 8, 0, 4, 2]) a[np.argpartition...

Python 3.x读写csv文件中数字的方法示例

前言 本文主要给大家介绍了关于Python3.x读写csv文件中数字的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 读写csv文件 读文件时先产生str的列...

编写自定义的Django模板加载器的简单示例

Djangos 内置的模板加载器(在先前的模板加载内幕章节有叙述)通常会满足你的所有的模板加载需求,但是如果你有特殊的加载需求的话,编写自己的模板加载器也会相当简单。 比如:你可以从数据...

使用python绘制二维图形示例

我就废话不多说了,直接上代码吧! import matplotlib.pyplot as plt #也可以使用 import pylab as pl import matplotli...