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

该程序主要用到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数据库
在这里插入图片描述

在这里插入图片描述

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

  • 69
    点赞
  • 288
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值