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

墨蓝 2022-03-30 07:18 725阅读 0赞

以学生的信息进行举例

sqlite3界面如下

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1h1X3NhX3Nh_size_16_color_FFFFFF_t_70

查 select

  1. def select_student():
  2. """
  3. 查询学员信息的函数
  4. :return: None
  5. """
  6. # for index, info_list in enumerate(all_stu_list):
  7. # print(index + 1, '.', info_list[0], info_list[1])
  8. conn = sqlite3.connect('student.db')
  9. cursor = conn.cursor()
  10. cursor.execute('select * from stu')
  11. res = cursor.fetchall()
  12. for line in res:
  13. # or f in line:
  14. print(line)
  15. print('\n学员信息查询完成\n')
  16. cursor.close()
  17. conn.close()

查询结果

20190105105919989.png 20190105111832878.png

增加信息add

  1. def add_student(sname, sage):
  2. """
  3. 该函数是用于添加学员信息的函数
  4. :return: None
  5. """
  6. # sname = input('输入学员姓名:')
  7. # age = int(input('输入学员年龄:'))
  8. conn = sqlite3.connect('student.db')
  9. cursor = conn.cursor()
  10. cursor.execute("insert into stu(name ,age)"
  11. "values ('%s', '%s')"%(sname, sage))
  12. conn.commit()
  13. # s_list = [s_name, s_age]
  14. # all_stu_list.append(s_list)
  15. print('\n学员信息添加完成\n')
  16. cursor.close()
  17. conn.close()

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

删除delete

  1. def delete_student():
  2. """
  3. 删除学员信息函数
  4. :return:
  5. """
  6. conn = sqlite3.connect('student.db')
  7. cursor = conn.cursor()
  8. print('''
  9. 1-根据序号删除学员信息
  10. 2-根据学院名称删除学员信息
  11. 3-删除所有学员信息
  12. ''')
  13. number = int(input('请选择操作:'))
  14. while number < 1 or number > 3:
  15. number = input('请重新选择操作:')
  16. if number == 1:
  17. select_student()
  18. num = int(input('请输入删除的学员编号:'))
  19. # all_stu_list.pop(num - 1)
  20. cursor.execute("delete from stu where id = %s" % num)
  21. conn.commit()
  22. print('\n数据删除成功\n')
  23. elif number == 2:
  24. select_student()
  25. sname = input('请输入删除的学员姓名:')
  26. cursor.execute("DELETE FROM stu WHERE name = '%s' " %sname)
  27. conn.commit()
  28. # for index, info_list in enumerate(all_stu_list):
  29. # # 判断输入的name的值,在info_list列表中是否存,如果存在,将这个小列表info_list删除,反之,不删除。
  30. # if sname in info_list:
  31. #
  32. # conn.commit()
  33. print('\n数据删除成功\n')
  34. # else:
  35. # # print('没有这个学员')
  36. # pass
  37. elif number == 3:
  38. cursor.execute('DELETE FROM stu')
  39. conn.commit()
  40. # all_stu_list.clear()
  41. # while len(all_stu_list):
  42. # del all_stu_list[0]
  43. cursor.close()
  44. conn.close()

亲测无错

修改信息:update

  1. def update_student():
  2. """
  3. 修改学员信息的函数
  4. :return:
  5. """
  6. conn = sqlite3.connect('student.db')
  7. cursor = conn.cursor()
  8. number = int(input('请输入修改学员的编号:'))
  9. # 在修改学员信息之前,先查询所有学员信息,方便选择学员
  10. select_student()
  11. # while number < 1 or number > len(all_stu_list):
  12. # number = int(input('没有该学员,请重新输入修改学员的编号:'))
  13. # 根据输入的编号转化成索引值,将学员对应的小列表获取出来
  14. # info_list = all_stu_list[number - 1]
  15. re_name = input('请输入新的姓名: ')
  16. re_age = input('请输入新的年龄(%s): ')
  17. re_age = int(re_age)
  18. cursor.execute("update stu set name = '%s', age = '%s' where id = '%s'"
  19. %(re_name, re_age, number))
  20. conn.commit()
  21. # info_list[0] = re_name
  22. # info_list[1] = re_age
  23. print('\n学员信息修改完成\n')

20190105114034610.png

持续更新。。。。。。

发表评论

表情:
评论列表 (有 0 条评论,725人围观)

还没有评论,来说两句吧...

相关阅读