1. 程式人生 > 資料庫 >python+mysql實現學生資訊查詢系統

python+mysql實現學生資訊查詢系統

本文例項為大家分享了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,evaluation) values("%s","%s",%d,%d)' % (name,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,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!!!!

這是我本人做的一些與上面程式有關的資料庫。因為初學者,僅供參考

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。