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')

持續更新。。。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章