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

2021年3月31日 27点热度 0条评论 来源: 我不是秃头哆唻咪

该程序主要用到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数据库

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

    原文作者:我不是秃头哆唻咪
    原文地址: https://blog.csdn.net/weixin_44864260/article/details/110962855
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。