Python学习(一):数据库sqlite3的增删改查

以学生的信息进行举例

sqlite3界面如下

查 select

def select_student():
    """
    查询学员信息的函数
    :return: None
    """
    # for index, info_list in enumerate(all_stu_list):
    #     print(index + 1, '.', info_list[0], info_list[1])
    conn = sqlite3.connect('student.db')
    cursor = conn.cursor()
    cursor.execute('select * from stu')
    res = cursor.fetchall()
    for line in res:
        # or f in line:
        print(line)
    print('\n学员信息查询完成\n')
    cursor.close()
    conn.close()

查询结果

        

增加信息add 

def add_student(sname, sage):
    """
    该函数是用于添加学员信息的函数
    :return: None
    """
    # sname = input('输入学员姓名:')
    # age = int(input('输入学员年龄:'))
    conn = sqlite3.connect('student.db')
    cursor = conn.cursor()
    cursor.execute("insert into stu(name ,age)"
                   "values ('%s', '%s')"%(sname, sage))
    conn.commit()
    # s_list = [s_name, s_age]
    # all_stu_list.append(s_list)

    print('\n学员信息添加完成\n')
    cursor.close()
    conn.close()

 insert 语句需要注意写法,我查了30分钟,唉,使用占位符

删除delete

def delete_student():
    """
    删除学员信息函数
    :return:
    """
    conn = sqlite3.connect('student.db')
    cursor = conn.cursor()

    print('''
    1-根据序号删除学员信息
    2-根据学院名称删除学员信息
    3-删除所有学员信息
    ''')
    number = int(input('请选择操作:'))
    while number < 1 or number > 3:
        number = input('请重新选择操作:')
    if number == 1:
        select_student()
        num = int(input('请输入删除的学员编号:'))
        # all_stu_list.pop(num - 1)
        cursor.execute("delete from stu where id = %s" % num)
        conn.commit()
        print('\n数据删除成功\n')
    elif number == 2:
        select_student()
        sname = input('请输入删除的学员姓名:')
        cursor.execute("DELETE FROM stu WHERE name = '%s' " %sname)
        conn.commit()
        # for index, info_list in enumerate(all_stu_list):
        #     # 判断输入的name的值,在info_list列表中是否存,如果存在,将这个小列表info_list删除,反之,不删除。
        #     if sname in info_list:
        #
        #         conn.commit()
        print('\n数据删除成功\n')
            # else:
            #     # print('没有这个学员')
            #     pass
    elif number == 3:
        cursor.execute('DELETE FROM stu')
        conn.commit()
        # all_stu_list.clear()
        # while len(all_stu_list):
        #     del all_stu_list[0]
    cursor.close()
    conn.close()

亲测无错

修改信息:update

def update_student():
    """
    修改学员信息的函数
    :return:
    """
    conn = sqlite3.connect('student.db')
    cursor = conn.cursor()
    number = int(input('请输入修改学员的编号:'))
    # 在修改学员信息之前,先查询所有学员信息,方便选择学员
    select_student()
    # while number < 1 or number > len(all_stu_list):
    #     number = int(input('没有该学员,请重新输入修改学员的编号:'))
    # 根据输入的编号转化成索引值,将学员对应的小列表获取出来
    # info_list = all_stu_list[number - 1]

    re_name = input('请输入新的姓名: ')
    re_age = input('请输入新的年龄(%s): ')
    re_age = int(re_age)
    cursor.execute("update stu set name = '%s', age = '%s'  where id = '%s'"
                   %(re_name, re_age, number))
    conn.commit()
    # info_list[0] = re_name
    # info_list[1] = re_age

    print('\n学员信息修改完成\n')

持续更新。。。。。。

猜你喜欢

转载自blog.csdn.net/Xu_sa_sa/article/details/85839337