Python学生信息管理系统(数据库版)

旧街凉风 提交于 2020-12-12 13:26:55

该程序主要用到sqlite3

#数据库sqlite
import sqlite3
#存放学生信息
#student = list()
#展示菜单
def showMenu():
    print("1.增加学生信息")
    print("2.删除学生信息")
    print("3.修改学生信息")
    print("4.显示学生信息")
    print("0.退出系统")
    select = eval(input("操作:"))
    return select
#添加学生信息
def addStudent():
    print("-----增加学生信息-----")
    name = input("姓名:")
    sex = input("性别:")
    age = input("年龄:")
    phone = input("电话:")
    conn = sqlite3.connect("student.db")
    cur = conn.cursor()
    cur.execute("insert into info (id,name,sex,age,phone)values (null,?,?,?,?)",(name,sex,age,phone))
    conn.commit()
    cur.close()
    conn.close()
    print("添加成功!")
    showStudent()
#展示学生信息
def showStudent():
    #连接数据库,进行查询操作
    conn = sqlite3.connect("student.db")
    cur = conn.cursor()
    cur.execute("select * from info")
    data = cur.fetchall()
    if len(data) > 0 :
        print("-----------学生信息------------")
        print("序号\t\t姓名\t\t性别\t\t年龄\t\t电话")
        for i in range(len(data)):
            print(data[i][0],'\t\t',data[i][1],'\t',data[i][2],'\t',data[i][3],'\t',data[i][4])
        print("------------------------------")
    else:
        print("----------信息表为空-----------")
    cur.close()
    conn.close()
#删除学生信息
def delStudent():
        print("---正在进行删除操作---")
        print("-----当前学生信息------")
        showStudent()
        select = eval(input("请输入要删除的学生序号:"))
        #连接数据库,进行删除操作
        conn = sqlite3.connect("student.db")
        cur = conn.cursor()
        cur.execute("delete from info where id = ?",(str(select)))
        conn.commit()
        cur.close()
        conn.close()
        print("删除成功!")
        showStudent()
#修改学生信息
def reviseStudent():
    print("-----正在进行修改操作-----")
    showStudent()
    num = eval(input("请输入要修改的学生序号:"))
    print("1-修改姓名\n2-修改性别\n3-修改年龄\n4-修改电话")
    revisenum = eval(input("请输入要修改的信息序号:"))
    newstr = input("请输入新的信息:")
    #连接数据库进行更新操作
    conn = sqlite3.connect("student.db")
    cur = conn.cursor()
    if revisenum == 1:
        cur.execute("update info set name = ? where id = ?",(str(newstr),str(num)))
        conn.commit()
        cur.close()
        conn.close()
        print("修改成功!")
        showStudent()
    elif revisenum == 2:
        cur.execute("update info set sex = ? where id = ?", (str(newstr), str(num)))
        conn.commit()
        cur.close()
        conn.close()
        print("修改成功!")
        showStudent()
    elif revisenum == 3:
        cur.execute("update info set age = ? where id = ?", (str(newstr), str(num)))
        conn.commit()
        cur.close()
        conn.close()
        print("修改成功!")
        showStudent()
    elif revisenum == 4:
        cur.execute("update info set phone = ? where id = ?", (str(newstr), str(num)))
        conn.commit()
        cur.close()
        conn.close()
        print("修改成功!")
        showStudent()
    else:
        #如果revisenum输入有误,就修改失败
        print("修改失败!请输入正确的修改信息!")

#主要运行函数
def main():
    while True:
        #连接数据库,如果数据库不存在,默认在当前路径下创建
        conn = sqlite3.connect("student.db")
        #获取游标
        cur = conn.cursor()
        #创建表
        cur.execute("""
                    create table if not exists info(
                        id integer primary key autoincrement,
                        name text(20),
                        sex text(20),
                        age text(20),
                        phone text(20)
                    )
                    """)
        #提交事物
        conn.commit()
        #关闭游标
        cur.close()
        #关闭连接
        conn.close()
        #显示菜单
        select = showMenu()
        if select == 1:
            addStudent()
        elif select == 2:
            delStudent()
        elif select == 3:
            reviseStudent()
        elif select == 4:
            showStudent()
        elif select == 0:
            #退出系统
            break
        else:
            print("输入有误!请重新操作!")
            continue
if __name__ == '__main__':
    main()

增加学生信息
在这里插入图片描述
删除学生信息
在这里插入图片描述
修改学生信息
在这里插入图片描述
显示学生信息
在这里插入图片描述
运行后会得到一个student.db文件
在这里插入图片描述
安装PyCharm插件Database Navigator可以查看student数据库
在这里插入图片描述










在这里插入图片描述

原创来之不易,点赞收藏支持一下卑微的博主吧~~

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!