python学生管理系统

import pymysql
# 连接数据库
connect = pymysql.connect(
            host="localhost",
            user="root",
            password="160386",
            db="school"
)
# 创建游标
cur = connect.cursor()
# 执行语句,返回受影响的行
cur.execute("SET @@global.sql_mode= ''")

# 管理员函数
def manage():
    name = input("请管理员输入用户名:")
    password = input("请管理员输入密码:")

    sql = "SELECT * FROM manage WHERE name=%s AND password=%s"
    val = (name, password)
    cur.execute(sql, val)
    result = cur.fetchone()

    if result:
        print("登录成功!")
        while True:
            print("\n*****管理员登录界面*****")
            print("1. 查看学生信息")
            print("2. 增加学生信息")
            print("3. 修改学生信息")
            print("4. 删除学生信息")
            print("5. 查看课程信息")
            print("6. 增加课程信息")
            print("7. 修改课程信息")
            print("8. 删除课程信息")
            print("9. 退出管理员登录界面")
            print("请选择要进行的操作:")
            choice = input()
            if choice == "1":
                # 查看学生信息
                sql = "SELECT * FROM student"
                cur.execute(sql)
                result = cur.fetchall()
                for student in result:
                    print(student)
            elif choice == "2":
                # 增加学生信息
                print("请输入学生信息:")
                student_id = input("学号:")
                student_name = input("姓名:")
                student_gender = input("性别:")
                student_email = input("邮箱:")
                student_phone = input("电话:")
                student_password = input("密码:")
                sql = "INSERT INTO student (id, name, gender,email,phone,password ) VALUES (%s, %s, %s, %s,%s,%s)"
                val = (student_id, student_name, student_gender, student_email, student_phone, student_password)
                cur.execute(sql, val)
                connect.commit()
                print("学生信息添加成功!")

            elif choice == "3":
                # 修改学生信息
                student_id = input("请输入要修改的学号:")
                sql = "SELECT * FROM student WHERE id = %s"
                val = (student_id,)
                cur.execute(sql, val)
                result = cur.fetchall()
                if len(result) == 0:
                    print("找不到该学生!")
                    continue
                print('原学生信息为:', result[0])
                print("请输入修改后的学生信息:")
                student_name = input("姓名:")
                student_gender = input("性别:")
                student_email = input("邮箱:")
                student_phone = input("电话:")
                student_password = input("密码:")
                sql = "UPDATE student SET name = %s, gender = %s,email = %s,phone=%s,password=%s WHERE id = %s"
                val = (student_name, student_gender, student_email, student_phone, student_password, student_id)
                cur.execute(sql, val)
                connect.commit()
                sql = "UPDATE grade SET student_name = %s WHERE student_id = %s"
                val = (student_name, student_id)
                cur.execute(sql, val)
                connect.commit()
                sql = "UPDATE selected SET student_name = %s WHERE student_id = %s"
                val = (student_name,student_id)
                cur.execute(sql, val)
                connect.commit()
                print("学生信息修改成功!")

            elif choice == "4":
                # 删除学生信息
                student_id = input("请输入要删除的学生学号:")
                sql = "SELECT * FROM student WHERE id = %s"
                val = (student_id,)
                cur.execute(sql, val)
                result = cur.fetchall()
                if len(result) == 0:
                    print("找不到该学生!")
                    continue
                # 删除学生表中的记录
                sql = "DELETE FROM student WHERE id = %s"
                cur.execute(sql, val)
                connect.commit()
                # 删除选课表中的记录
                sql = "DELETE FROM selected WHERE student_id = %s"
                cur.execute(sql, val)
                connect.commit()
                # 删除成绩表中的记录
                sql = "DELETE FROM grade WHERE student_id = %s"
                cur.execute(sql, val)
                connect.commit()
                print("学生信息删除成功!")

            elif choice == "5":
                # 查看课程信息
                sql = "SELECT * FROM course"
                cur.execute(sql)
                result = cur.fetchall()
                for course in result:
                    print(course)

            elif choice == "6":
                # 增加课程信息
                print("请输入课程信息:")
                course_id = input("课程ID:")
                course_name = input("课程名称:")
                course_teacher = input("主讲教师ID:")
                sql = "INSERT INTO course (id, name, teacher) VALUES (%s, %s, %s)"
                val = (course_id, course_name, course_teacher)
                cur.execute(sql, val)
                connect.commit()
                sql = "SELECT * FROM teacher WHERE id = %s"
                val1 = (course_teacher, )
                cur.execute(sql,val1)
                teacher = cur.fetchall()
                teacher_name = teacher[0][1]
                sql = "INSERT INTO teached (teacher_id,teacher_name,course_id,course_name) VALUES (%s,%s,%s,%s)"
                val = (course_teacher, teacher_name, course_id, course_name)
                cur.execute(sql,val)
                connect.commit()
                print("课程信息添加成功!")

            elif choice == "7":
                # 修改课程信息
                course_id = input("请输入要修改的课程ID:")
                sql = "SELECT * FROM course WHERE id = %s"
                val = (course_id,)
                cur.execute(sql, val)
                result = cur.fetchall()
                if len(result) == 0:
                    print("找不到该课程!")
                    continue
                print("原课程名称:{0}   原主讲教师ID:{1}".format(result[0][1], result[0][2]))
                print("请输入修改后的课程信息:")
                course_name = input("课程名称:")
                course_teacher = input("主讲教师ID:")

                sql = "UPDATE course SET name = %s, teacher = %s WHERE id = %s"
                val = (course_name, course_teacher, course_id)
                cur.execute(sql, val)
                connect.commit()

                sql = "SELECT * FROM teacher WHERE id = %s"
                data = (course_teacher, )
                cur.execute(sql, data)
                data1 = cur.fetchall()
                teacher_name = data1[0][1]

                sql = "UPDATE teached SET teacher_id = %s,course_name = %s, teacher_name = %s WHERE course_id = %s"
                val = (course_teacher, course_name, teacher_name, course_id)
                cur.execute(sql, val)
                connect.commit()

                sql = "UPDATE grade SET course_name = %s ,teacher = %s WHERE course_id = %s"
                val = (course_name, teacher_name, course_id)
                cur.execute(sql, val)
                connect.commit()

                sql = "UPDATE selected SET course_name = %s ,teacher = %s WHERE course_id = %s"
                val = (course_name, teacher_name, course_id)
                cur.execute(sql, val)
                connect.commit()
                print("课程信息修改成功!")

            elif choice == "8":
                # 删除课程信息
                course_id = input("请输入要删除的课程ID:")
                sql = "SELECT * FROM course WHERE id = %s"
                val = (course_id,)
                cur.execute(sql, val)
                result = cur.fetchall()
                if len(result) == 0:
                    print("找不到该课程!")
                    continue
                # 删除课程表中的记录
                sql = "DELETE FROM course WHERE id = %s"
                cur.execute(sql, val)
                connect.commit()
                # 删除选课表中的记录
                sql = "DELETE FROM selected WHERE course_id = %s"
                cur.execute(sql, val)
                connect.commit()
                # 删除成绩表中的记录
                sql = "DELETE FROM grade WHERE course_id = %s"
                cur.execute(sql, val)
                connect.commit()
                # 删除授课表中的记录
                sql = "DELETE FROM teached WHERE course_id = %s"
                cur.execute(sql, val)
                connect.commit()
                print("课程信息删除成功!")
            elif choice == "9":
                print()
                return main()
    else:
        print("用户名或密码错误,登录失败!")
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

出阿册巫山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值