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

yipeiwu_com7年前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自动签到 定时任务 判断节假日的实例

不废话,直接上代码Python3.6 签到代码,只需修改url,账号,密码即可,此处是登录时无验证登录,有验证码的自行补充 # -*- coding:utf-8 -*- imp...

Python设计模式之原型模式实例详解

Python设计模式之原型模式实例详解

本文实例讲述了Python设计模式之原型模式。分享给大家供大家参考,具体如下: 原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的...

Python常用正则表达式符号浅析

对Python中正则表达式的理解,主要就是对符号的理解,本文即对Python中常用的正则表达式符号进行简析。其主要的符号有: . 默认匹配一个字符,不包含换行符,如果设置DOTALL则匹...

python基础知识(一)变量与简单数据类型详解

1.1变量 变量的命名规则: 1、只能包含字母、数字、下划线,且不能用数字开头 2、不能使用python关键字 3、简短且具有描述性 1.2字符串 python中用引号引...

python轻松实现代码编码格式转换

  最近刚换工作不久,没太多的时间去整理工作中的东西,大部分时间都在用来熟悉新公司的业务,熟悉他们的代码框架了,最主要的是还有很多新东西要学,我之前主要是做php后台开发的,来这边之后还...