用mysql写学生管理系统

文章目录

  • 一、程序功能
    • 1、功能简述
    • 2、思维导图
  • 二、关系数据库
    • 1、数据模型
      • 1)一对一
      • 2)一对多
      • 3)多对多
  • 三、构造系统框架
    • 1、创建主程序
    • 2、输入用户名和密码
  • 四、链接数据库
  • 五、对学生元组的列表进行增、删、改、查操作
    • 1、增加学生记录
      • 1)编写程序
    • 2、删除学生记录
      • 1)编写程序
    • 3、修改学生信息
      • 1)编写程序
    • 4、查询学生信息
      • 1)编写程序

一、程序功能

1、功能简述

利用python完成一个学生信息的增、删、改、查程序。

2、思维导图

用mysql写学生管理系统_第1张图片

二、关系数据库

1、数据模型

1)一对一

“一对一模型”是指关系数据库中两个表之间的一种关系。 表示的是表A 中的一行数据只与表B 中的一行有关系。

2)一对多

“一对多模型”是指表A 中的一行数据可以和表B中的多个行相关,但是表B中的数据只能和表A中的一行数据相关。

3)多对多

“多对多模型”是指表A中的一行数据可以和表B中的一行或者多行数据相关。表B的一行数据也可以和表A中的一行或者多行数据相关。

三、构造系统框架

1、创建主程序

1)编写程序
用mysql写学生管理系统_第2张图片
程序代码

while True:
    print('用户登录')
    print('=' * 10)
    print('1.登录')
    print('2.退出')
    print('=' * 10)
    mc1 = int(input('输入菜单号:'))
    if mc1 == 1:
        print('登陆成功!')
    elif mc1 == 2:
        print('感谢使用学生信息管理系统!')
        break

2)运行程序
用mysql写学生管理系统_第3张图片

2、输入用户名和密码

1)编写程序
用mysql写学生管理系统_第4张图片
程序代码

def login():
    usename = input('请输入用户名:')
    password = input('请输入密码:')
    if usename == 'yanxi' and password == '020915':
        while True:
              print('=' * 8 + '学生信息管理系统' + '=' * 8)
              print('1.增加学生记录')
              print('2.删除学生记录')
              print('3.修改学生记录')
              print('4.查询学生记录')
              print('5.返回上一级菜单')
              print('=' * 10)
              mc2 = int(input('请输入菜单号:'))
              if mc2 == 1:
                  print('此功能尚未开发')
              elif mc2 == 2:
                  print('此功能尚未开发')
              elif mc2 == 3:
                  print('此功能尚未开发')
              elif mc2 == 4:
                  print('此功能尚未开发')
              else:
                  break
    else:
         print("用户名或密码错误,请重新输入")

2)运行程序
用mysql写学生管理系统_第5张图片

四、链接数据库

用mysql写学生管理系统_第6张图片
用mysql写学生管理系统_第7张图片
使用spyder调用MySQL

用mysql写学生管理系统_第8张图片

五、对学生元组的列表进行增、删、改、查操作

1、增加学生记录

1)编写程序

用mysql写学生管理系统_第9张图片
程序代码

def add_student(): 
    cursor = main()
    id = int(input('学号:'))
    name = input('姓名:')
    gender = input('性别:')
    age = int(input('年龄:'))
    class_grade = input('班级:')
    major = input(('专业:'))
    college = input('学院:')
    telephone = input('电话:')
    add = cursor.execute('insert into stu (id, name, gender, age, class_grade, major, college, telephone)\values
                         (%s,%s,%s,%s,%s,%s,%s,%s)',(id, name, gender, age, class_grade, major, college, telephone))
    if add == 1:
        conn.commit()
        print('记录插入成功!')
    else:
        print('记录插入失败!')

2、删除学生记录

1)编写程序

用mysql写学生管理系统_第10张图片
程序代码

def deletel_student():
    print('=' *15)
    print('1.删除学生相关信息')
    print('2.回到初始界面')
    print('=' *15)
    mc4 = int('input(input menu number:'))
    if mc4 == 1:
        deletele_student()
    elif mc4 == 3:
        login()

3、修改学生信息

1)编写程序

用mysql写学生管理系统_第11张图片
程序代码

def update_student():
        cursor = main()
        cur= int(input('请输入想要修改的学生的学号:'))
        cursor.execute('select * from stu where id = %s', (cur))
        if cursor.fetchall() == []:
            print('未查找到学号是{}的学生'.format(cur))
            mc3 = input('是否需要重新查询?(y/n)')
            if mc3 != 'n':
                update_student()
            else:
                login()
        else:
            print('==============')
            print('1、修改姓名')
            print('2、修改性别')
            print('3、修改年龄')
            print('4、修改班级')
            print('5、修改专业')
            print('6、修改学院')
            print('7、修改电话')
            print('8、返回上级菜单')
            print('==============')
            mc2 = int(input('请输入菜单号:'))
            if mc2 == 1:
                name = input('请输入修改后的名字:')
                a = cursor.execute('update stu set name = %s where id = %s', (name, cur))
                if a == 1:
                    conn.commit()
                    print('修改成功!')
                else:
                    print('修改失败!')
            elif mc2 == 2:
                gender1 = input('请输入修改后的性别:')
                a = cursor.execute('update stu set genden = %s where id = %s', (gender1, cur))
                if a > 1:
                    conn.commit()
                    print('修改成功!')
                else:
                    print('修改失败!')
            elif mc2 == 3:
                age1 = int(input('请输入修改后的年龄:'))
                a = cursor.execute('update stu set age = %s where id = %s', (age1, cur))
                if a > 1:
                    conn.commit()
                    print('修改成功!')
                else:
                    print('修改失败!')
            elif mc2 == 4:
                class1 = input('请输入修改后的班级:')
                a = cursor.execute('update stu set class = %s where id = %s', (class1, cur))
                if a > 1:
                    conn.commit()
                    print('修改成功!')
                else:
                    print('修改失败!')
            elif mc2 == 5:
                major1 = input('请输入修改后的专业:')
                a = cursor.execute('update stu set major = %s where id = %s', (major1, cur))
                if a > 1:
                    conn.commit()
                    print('修改成功!')
                else:
                    print('修改失败!')
            elif mc2 == 6:
                college1 = input('请输入修改后的学院:')
                a = cursor.execute('update stu set college = %s where id = %s', (college1, cur))
                if a > 1:
                    conn.commit()
                    print('修改成功!')
                else:
                    print('修改失败!')
            elif mc2 == 6:
                college1 = input('请输入修改后的电话:')
                a = cursor.execute('update stu set college = %s where id = %s', (telephone, cur))
                if a > 1:
                    conn.commit()
                    print('修改成功!')
                else:
                    print('修改失败!')
            else:

4、查询学生信息

1)编写程序

用mysql写学生管理系统_第12张图片
程序代码

def query_student():  
    while True:
        print('\n查询学生记录\n')
        print('=' * 15)
        print('1.按学号查询学生记录')
        print('2.按姓名查询学生记录')
        print('3.查询全部学生记录')
        print('4.返回上级菜单')
       rint('=' * 15)
        mc3 = int(input('输入菜单号:'))
        if mc3 == 1:
            id_dis_stu()
        elif mc3 == 2:
            name_dis_stu()
        elif mc3 == 3:
            dis_all_stu()
        else:
            break

你可能感兴趣的:(mysql,数据库,database,python)