实验七 数据库应用

GloriaAsukDemo发布

——2020.11.18

  1. 设计一个学生通讯录,可以在通讯录中增加、删除、修改、查询里面的信息。
import sqlite3
conn = sqlite3.connect('student.db')
sql = conn.cursor()
sql.execute('CREATE TABLE stuconnect (stuid integer primary key, stuname varchar(20),address varchar(30),tel varchar(15))')
def add(sql):
    name, address, tel = input('请输入学生信息,依次为姓名、地址、电话:').split()
    flag=0
    flag=sql.execute('INSERT INTO stuconnect(stuname,address,tel) VALUES (?,?,?)',(name,address,tel))
    if(flag!=0):
        print('添加成功')
    else:
        print('添加失败')

def dell(sql):
    name = input('请输入学生姓名:')
    alist = sql.execute("SELECT * FROM stuconnect WHERE stuname='"+name+"'")
    if(alist):
        flag=0
        flag=sql.execute("DELETE FROM stuconnect WHERE stuid='"+name+"'")
        if(flag!=0):
            print('删除成功')
        else:
            print('删除失败')
    else:
        print('未查询到学生')


def edit(sql):
    name1 = input('请输入学生姓名:')
    alist = sql.execute("SELECT * FROM stuconnect WHERE stuname='"+name1+"'")
    if (alist):
        name,address,tel = input('请输入新的学生信息,依次为姓名、地址、电话:').split()
        flag = 0
        flag = sql.execute('UPDATE stuconnect SET stuname=?,address=?,tel=? WHERE stuname=?', (name,address,tel,name1))
        if (flag != 0):
            print('修改成功')
        else:
            print('修改失败')
    else:
        print('未查询到学生')

def search(sql,num):
    if(num==1):
        name = input('请输入学生姓名:')
        alist = sql.execute("SELECT * FROM stuconnect WHERE stuname='"+name+"'")
        for item in alist:
            print(item,end=' ')
            print()
    else:
        alist = sql.execute('SELECT * FROM stuconnect')
        for item in alist:
            print(item,end=' ')
            print()

while True:
    print('1-增加学生信息 2-删除学生信息 3-修改学生信息 4-查询学生信息 0-退出')
    num = eval(input('请选择您要选择的服务:'))
    if(num==1):
        add(sql)
    elif(num==2):
        dell(sql)
    elif(num==3):
        edit(sql)
    elif(num==4):
        x=eval(input('请选择单体查询(1)还是全体查询(0):'))
        search(sql,x)
    else:
        print('欢迎下次使用')
        break
  实验室名称:计算中心                


0 条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注