当前位置:   article > 正文

python+mysql的学生管理系统_设计学生学籍系统mysol+python

设计学生学籍系统mysol+python

目录

1、项目所需模块

2、学生管理系统的主要功能

3、首先创建数据库

4、防止数据库断开操作

5、菜单

6、编写主函数

7、添加学生信息

8、删除学生信息

9、修改学生信息

10、查看学生信息

11、展示所有学生信息

12、最后就是调用主函数


1、项目所需模块

编写这个学生管理系统需要使用pymysql这个库去连接数据库

2、学生管理系统的主要功能

这个学生管理系统我做的很简陋,只做了增删改查和展示所有学生信息5个模块,大家可以做得更详细一点增加其他的功能模块,在这里仅供大家参考,希望能给刚开始学习python的同学一点参考

3、首先创建数据库

  1. import pymysql
  2. #定义数据库连接参数
  3. host = '127.0.0.1'
  4. port = 3306
  5. db = 'student'
  6. user = 'root'
  7. password = 'root'
  8. #创建连接
  9. con = pymysql.connect(host=host,
  10. port=port,
  11. db=db,
  12. user=user,
  13. password=password)
  14. #创建游标对象
  15. cur = con.cursor()
  16. #编写sql语句
  17. sql = """
  18. create table if not exists students(
  19. ids varchar(20) not null primary key,
  20. name varchar(30) not null,
  21. age int(2),
  22. gender varchar(10) not null,
  23. classes varchar(200) not null
  24. )
  25. """
  26. try:
  27. #执行sql语句
  28. cur.execute(sql)
  29. print('创建成功')
  30. except Exception as e:
  31. print(e)
  32. print('创表失败')
  33. finally:
  34. #关闭连接
  35. con.close()

4、防止数据库断开操作

  1. #数据库自动检测是否断开并自动连接
  2. def select_db():
  3. # 检查连接是否断开,如果断开就进行重连
  4. con.ping(reconnect=True)
  5. cur.execute(sql)
  6. # 使用 fetchall() 获取查询结果
  7. data = cur.fetchall()
  8. return data

5、菜单

  1. #菜单
  2. def menu():
  3. print("1.增加学生信息")
  4. print("2.删除学生信息")
  5. print("3.查找学生信息")
  6. print("4.修改学生信息")
  7. print("5.展示所有学生信息")
  8. print("0.退出系统")
  9. choose = input("请输入你的操作:")
  10. return choose

6、编写主函数

  1. #定义主函数
  2. def main():
  3. print("+----------------------------------------+")
  4. print("| 欢迎进入学生管理系统 |")
  5. print("+----------------------------------------+")
  6. while True:
  7. choose = menu()
  8. #增加学生信息
  9. if choose == '1':
  10. add()
  11. #删除学生信息
  12. elif choose == '2':
  13. delete()
  14. #查找学生信息
  15. elif choose == '3':
  16. fund()
  17. #改变学生信息
  18. elif choose == '4':
  19. amend()
  20. #展示所有学生信息
  21. elif choose == '5':
  22. show()
  23. elif choose == '0':
  24. print("你已退出学生管理系统!!!!")
  25. #非法输入
  26. else:
  27. print("输入错误,请冲向输入!!")

7、添加学生信息

  1. #添加学生信息
  2. def add():
  3. select_db()
  4. #创建游标对象
  5. cur = con.cursor(pymysql.cursors.SSCursor)
  6. print("增加学生信息开始")
  7. while True:
  8. try:
  9. ids = input("请输入学号:")
  10. name = input("请输入学生姓名:")
  11. age = input("亲输入学生年龄")
  12. gender = input("请输入学生性别:")
  13. classes = input("请输入学生班级:")
  14. values = [ids, name, age, gender, classes]
  15. if gender not in ("男", "女"):
  16. print("输入错误,请输入男或女!")
  17. # 执行sql,将数据录入数据库
  18. sql = 'insert into students(ids,name,age,gender,classes) values(%s,%s,%s,%s,%s)'
  19. cur.execute(sql, values)
  20. if True:
  21. # 提交事务
  22. con.commit()
  23. print('添加学生信息成功')
  24. answer = input('是否继续添加学生信息:“yes"or"no"\n')
  25. if answer != 'yes':
  26. break
  27. else:
  28. continue
  29. except Exception as e:
  30. print(e)
  31. # 数据回滚,保护数据库
  32. con.rollback()
  33. print('添加学生信息失败')
  34. finally:
  35. print("[增加学生信息结束]")
  36. con.close()

8、删除学生信息

  1. #删除学生信息
  2. def delete():
  3. select_db()
  4. # 创建游标对象
  5. cur = con.cursor(pymysql.cursors.SSCursor)
  6. print("删除学生信息开始")
  7. while True:
  8. try:
  9. ids = input("请输入你要删除的学生学号:")
  10. sql = 'delete from students where ids=%s'
  11. con.commit()
  12. # 执行sql将数据从数据库中删除
  13. cur.execute(sql, ids)
  14. if True:
  15. # 提交事务
  16. con.commit()
  17. print('删除学生信息成功')
  18. answer = input('是否继续删除学生信息:“yes"or"no"')
  19. if answer != 'yes':
  20. break
  21. else:
  22. continue
  23. except:
  24. # 数据回滚,保护数据库
  25. con.rollback()
  26. print('删除学生信息失败')
  27. finally:
  28. print("删除学生信息结束")
  29. con.close()

9、修改学生信息

  1. #修改学生信息
  2. def amend():
  3. select_db()
  4. # 创建游标对象
  5. cur = con.cursor(pymysql.cursors.SSCursor)
  6. print("修改学生信息开始")
  7. while True:
  8. ids = input("请输入你要修改信息学生的学号:")
  9. if ids != '':
  10. name = input("请输入你要修改信息学生的姓名:")
  11. age = input("请输入你要修改信息学生的年龄:")
  12. gender = input("请输入你要修改信息学生的性别:")
  13. classes = input("请输入你要修改信息学生的班级:")
  14. try:
  15. sql = f'update students set ids={ids},name={name},age={age},gender={gender},classes={classes}'
  16. #执行sql,修改数据库数据
  17. cur.execute(sql)
  18. con.commit()
  19. except:
  20. print("修改失败")
  21. con.rollback()
  22. finally:
  23. print("修改学生信息结束")
  24. answer = input('是否继续修改学生信息:”yes“or"no"')
  25. if answer != 'yes':
  26. break
  27. else:
  28. continue
  29. else:
  30. print('输入错误请重新输入')
  31. continue
  32. con.close()

10、查看学生信息

  1. #查找学生信息
  2. def fund():
  3. select_db()
  4. # 创建游标对象
  5. cur = con.cursor(pymysql.cursors.SSCursor)
  6. print("查找学生信息开始")
  7. while True:
  8. try:
  9. mode = input('按学号查找请输入:1,按姓名查找请输入:2')
  10. if mode =='1':
  11. ids = input("请输入你需要查找到学生学号:")
  12. sql = 'select from students where ids=%s'
  13. cur.execute(sql, ids)
  14. con.commit()
  15. print(cur.fetchall())
  16. answer = input('是否继续查找学生信息:”yes“or”no“')
  17. if answer != 'yes':
  18. break
  19. else:
  20. continue
  21. elif mode == '2':
  22. name = input("请输入你需要查找的学生姓名:")
  23. sql = 'select from students where name=%s'
  24. cur.execute(sql, name)
  25. con.commit()
  26. print(cur.fetchall())
  27. answer = input('是否继续查找学生信息:”yes“or”no“')
  28. if answer != 'yes':
  29. break
  30. else:
  31. continue
  32. else:
  33. print("你的输入有误,请重新输入")
  34. continue
  35. except:
  36. # 数据回滚,保护数据库
  37. con.rollback()
  38. finally:
  39. print("查询学生信息结束")
  40. con.close()

11、展示所有学生信息

  1. def show():
  2. select_db()
  3. # 创建游标对象
  4. cur = con.cursor(pymysql.cursors.SSCursor)
  5. sql = f'select * from students'
  6. cur.execute(sql)
  7. all = cur.fetchall()
  8. # print(len(all), type(all))
  9. format_title = '{:^6}\t{:^12}\t{:^8}\t{:^10}'
  10. print(format_title.format('ID', '姓名', '性别', '年龄'))
  11. format_data = '{:^6}\t{:^12}\t{:^8}\t{:^10}'
  12. for record in all:
  13. print(format_data.format(record[0], record[1], record[2], record[3]))
  14. con.close()

12、最后就是调用主函数

  1. if __name__ == '__main__':
  2. main()

我把所有代码都放在这里了,里面也都有详细注释,大家应该都能看懂,希望我的这篇发文能够帮助那些还在学习python的同学,这只是一个很基础的小项目,希望大家能都自己都能跑一下代码感受一下,今天的分享就到此为止了,谢谢大家。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/457296
推荐阅读
相关标签
  

闽ICP备14008679号