1. import sqlite3
  2.  
  3. cx = sqlite3.connect('E:\\student3.db')
  4.  
  5. cx.execute( '''CREATE TABLE StudentTable(
  6. ID INTEGER PRIMARY KEY AUTOINCREMENT,
  7. StuId INTEGER NOT NULL,
  8. NAME TEXT NOT NULL,
  9. CLASS INT NOT NULL
  10. );''')
  11.  
  12. print("Table created successfully!")
  1. Table created successfully!
  1. cx.execute('''CREATE TABLE CourseTable (
  2. CourseId INT NOT NULL,
  3. Name TEXT NOT NULL,
  4. Teacher TEXT NOT NULL,
  5. Classroom TEXT NOT NULL,
  6. StartTime CHAR(11) NOT NULL,
  7. EndTime CHAR(11) NOT NULL
  8. );''')
  9.  
  10. cu = cx.cursor()
  11.  
  12. CourseTable = [('', 'Qt', 'ming', 602, 'Monday9:00', 'Monday11:00'),('', 'Linux', 'han', 605, 'Friday13:20', 'Friday14:20'),('', 'sqlite3', 'hah', 608, 'Thursday15:00', 'Thursday17:00')]
  13. cu.executemany("insert into CourseTable values(?, ?, ?, ?, ?, ?)", CourseTable)
  14. cx.commit()
  15. print("Table created successfully!")
  1. Table created successfully!
  1. cx.execute('''CREATE TABLE XuankeTable(
  2. ID INTEGER PRIMARY KEY AUTOINCREMENT,
  3. StuId INT NOT NULL,
  4. CourseId INT NOT NULL
  5. );''')
  6.  
  7. print("Table created successfully")
  1. Table created successfully
  1. def insert_stu():#插入学生信息
  2. cu = cx.cursor()
  3. stu_id = input("请输入学生学号:")
  4. cu.execute("select StuId from StudentTable where StuId =%s" %(stu_id))
  5. row = cu.fetchone()
  6. if row:
  7. print("Sorry,该学号已存在,请重新输入")
  8. else:
  9. stu_name = input("请输入学生姓名")
  10. stu_class = input("请输入学生班级")
  11. sql1 = "insert into StudentTable(StuId, NAME, CLASS) values(%s, '%s', %s);" % (stu_id, stu_name, stu_class)
  12. cu.execute(sql1)
  13. cx.commit()
  14. print("恭喜你,学生录入成功!")
  15. cu.close()
  1. def xuanke():#学生选课
  2. cu = cx.cursor()
  3. stu_id = input("请输入要选课的学生学号:")
  4. sql2 = "select StuId from StudentTable where StuId =%s"%(stu_id)
  5. cu.execute(sql2)
  6. row = cu.fetchone()
  7. if row:
  8. sql3 = "select CourseId, Name, Teacher, Classroom, StartTime, EndTime from CourseTable"
  9. cu.execute(sql3)
  10. rows = cu.fetchall()
  11. for row in rows:
  12. print("CourseId = ", row[0])
  13. print("Name = ", row[1])
  14. print("Teacher = ", row[2])
  15. print("Classroom = ", row[3])
  16. print("StartTime = ", row[4])
  17. print("EndTime = ", row[5], "\n")
  18. cou_id = input("请输入要选的课程号是:")
  19. sql0 = "select CourseId from CourseTable where CourseId = %s"%(cou_id)
  20. cu.execute(sql0)
  21. row = cu.fetchone()
  22. if row:
  23. sql = "select StuId CourseId from XuankeTable where CourseId = %s and StuId = %s;" % (cou_id,stu_id)
  24. cu.execute(sql)
  25. row = cu.fetchone()
  26. if row:
  27. print("该课程已选,不能重复选课!")
  28. else:
  29. sqll = "insert into XuankeTable (stuId,CourseId) values (%s,%s);" % (stu_id,cou_id)
  30. cu.execute(sqll)
  31. cx.commit()
  32. print("带喜你,选课成功!")
  33. else:
  34. print("Sorry,该课程不存在!")
  35. else:
  36. print("Sorry,没有该学生号!")
  37. cu.close()
  1. def stu_id_search():#通过学生Id,查询学生信息
  2. cu = cx.cursor()
  3. search_stu_id = input("请输入要查询的学号:")
  4. sql4 = "select ID,StuId,NAME,CLASS from StudentTable where StuId=%s"%(search_stu_id)
  5. cu.execute(sql4)
  6. row = cu.fetchone()
  7. cx.commit()
  8. if row:
  9. sql5 = "select ID,StuId,NAME,CLASS from StudentTable"
  10. cu.execute(sql5)
  11. rows = cu.fetchall()
  12. for row in rows:
  13. print("---------")
  14. print("您要查询的学生信息为:")
  15. print("ID=",row[0])
  16. print("StuId",row[1])
  17. print("NAME=",row[2])
  18. print("CLASS = ",row[3],"\n")
  19. else:
  20. print("Sorry, 没有该学生信息!")
  21. cu.close()
  1. def stu_id_cou():#通过学生Id,查询学生Id的课程信息
  2. cu = cx.cursor()
  3. stu_id = input("请输入要查询学生号:")
  4. sql5 = "select StuId from StudentTable where stuId =%s" % (stu_id)
  5. cu.execute(sql5)
  6. row = cu.fetchall()
  7. if row:
  8. sql6 = "select * from XuankeTable a left join CourseTable b on a.CourseId=b.CourseId"
  9. cu.execute(sql6)
  10. rows = cu.fetchall()
  11. for row in rows:
  12. print("该学生所选课程为:")
  13. print("StuId = ",row[1])
  14. print("CourseId = ",row[2])
  15. print("Name = ", row[4])
  16. print("Teacher = ", row[5])
  17. print("Classroon =",row[6])
  18. print("StartTime = ",row[7])
  19. print("EndTime = ", row[8], "\n")
  20. print("-----------------")
  21. else:
  22. print("sorry,没有该学生选课信息!")
  23. cu.close()
  1. def cou_id_serach():#通过课程Id,查询课程信息
  2. cu = cx.cursor()
  3. cou_id = input("请输入要查询的课程号:")
  4. sql7 = "select CourseId,Name,Teacher,Classroom,StartTime,EndTime from CourseTable where CourseId =%s"%(cou_id)
  5. cu.execute(sql7)
  6. row = cu.fetchone()
  7. if row:
  8. print("您要查询的课程信息为:")
  9. print("CourseId = ", row[0])
  10. print("Name = ", row[1])
  11. print("Teacher = ", row[2])
  12. print("Classroom = ", row[3])
  13. print("StartTime = ",row[4])
  14. print("EndTime = ", row[5], "\n")
  15. else:
  16. print("Sorry,没有该课程信息!")
  17. cu.close()
  1. def cou_id_stu():#通过课程号查询所选学生信息
  2. cu = cx.cursor()
  3. cou_id = input("请输入课程号:")
  4. sql8 = "select CourseId from XuankeTable where CourseId =%s" % (cou_id)
  5. cu.execute(sql8)
  6. row = cu.fetchone()
  7. if row:
  8. sql9 = "select * from XuankeTable a left join StudentTable b on a.StuId=b.StuId"
  9. cu.execute(sql9)
  10. rows = cu.fetchall()
  11. for row in rows:
  12. print("-----------------------------")
  13. print("选择该课程的学生为:")
  14. print("StuId = ", row[1])
  15. print("NAME = ", row[5])
  16. print("CLASS = ", row[6])
  17. else:
  18. print("Sorry,没有该课程信息!")
  19. cu.close()
  1. def menu():
  2. print("1.进入学生信息系统(学生信息录入)")
  3. print("2.进入学生选课系统(学生选课操作)")
  4. print("3.进入学生选课信息系统(学生信息查询和选课情况查询)")
  5. print("4.退出程序")
  1. def student():
  2. print("1.录入学生信息")
  3. print("2.返回主菜单")
  4.  
  5. def Course():
  6. print("1.开始选课")
  7. print("2.返回主菜单")
  8.  
  9. def information():
  10. print("1.按学号查询学生信息")
  11. print("2.按学号查看学生选课课程列表")
  12. print("3.按课程号查看课程信息")
  13. print("4.按课程号查看选课学生列表")
  14. print("5.返回主菜单")
  1. while True:
  2. menu()
  3. print("---------------------")
  4. x = input("请输入您的选择菜单号:")
  5. if x == '':
  6. student()
  7. stu = input("您已进入学生录入系统,请再次输入选择菜单:")
  8. print("---------------------")
  9. if stu == '':
  10. insert_stu()
  11. continue
  12. if stu == '':
  13. continue
  14. else:
  15. print("输入的选项不存在,请重新输入!")
  16. continue
  17.  
  18. if x == '':
  19. #进入造课信息系统
  20. Course()
  21. cou = input("您已进入学生选课系统,请再次输入选择菜单:")
  22. print("------------------")
  23. if cou == '':
  24. xuanke()
  25. continue
  26. if cou == '':
  27. continue
  28. else:
  29. print("输入的选项不存在,请重新输入!")
  30. continue
  31.  
  32. if x == '':
  33. #进入学生选课信息表
  34. information()
  35. inf = input("您已进入学生选课信息系统,请再次输入选择菜单:")
  36. print("------------------")
  37. if inf == '':
  38. stu_id_search()
  39. continue
  40. if inf == '':
  41. stu_id_cou()
  42. continue
  43. if inf == '':
  44. cou_id_serach()
  45. continue
  46. if inf == '':
  47. cou_id_stu()
  48. else:
  49. print("输入的选项不存在,请重新输入!")
  50. continue
  51.  
  52. if x == '':
  53. print("谢谢使用")
  54. exit()
  55. else:
  56. print("输入的选项不存在,请重新输入!")
  57. continue

吴裕雄--python学习笔记:sqlite3 模块的使用与学生信息管理系统的更多相关文章

  1. 吴裕雄--python学习笔记:sqlite3 模块

    1 sqlite3.connect(database [,timeout ,other optional arguments]) 该 API 打开一个到 SQLite 数据库文件 database 的 ...

  2. 吴裕雄--python学习笔记:通过sqlite3 进行文字界面学生管理

    import sqlite3 conn = sqlite3.connect('E:\\student.db') print("Opened database successfully&quo ...

  3. 吴裕雄--python学习笔记:os模块的使用

    在自动化测试中,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件),经常要对大量文件和大量路径进行操作,这就依赖于os模块. 1.当前路径及路径下 ...

  4. 吴裕雄--python学习笔记:os模块函数

    os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcwd:得 ...

  5. 吴裕雄--python学习笔记:BeautifulSoup模块

    import re import requests from bs4 import BeautifulSoup req_obj = requests.get('https://www.baidu.co ...

  6. 吴裕雄--python学习笔记:爬虫基础

    一.什么是爬虫 爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息. 二.Python爬虫架构 Python 爬虫架构主要由五个部分组成,分别是调度器.URL管理器.网页下载器.网 ...

  7. 吴裕雄--python学习笔记:爬虫包的更换

    python 3.x报错:No module named 'cookielib'或No module named 'urllib2' 1. ModuleNotFoundError: No module ...

  8. 吴裕雄--python学习笔记:爬虫

    import chardet import urllib.request page = urllib.request.urlopen('http://photo.sina.com.cn/') #打开网 ...

  9. Python学习笔记之模块与包

    一.模块 1.模块的概念 模块这一概念很大程度上是为了解决代码的可重用性而出现的,其实这一概念并没有多复杂,简单来说不过是一个后缀为 .py 的 Python 文件而已 例如,我在某个工作中经常需要打 ...

随机推荐

  1. 201409-2 画图 Java

    思路: 法1:计算每个矩形的小方块,去掉重复的 法2:二维数组,需要涂色就置flag为1,最后遍历输出,不会有重复计算 import java.util.Scanner; public class M ...

  2. JavaEE--分布式与集群

    参考:https://www.zhihu.com/question/20004877 集群是个物理形态,分布式是个工作方式. 只要是一堆机器,就可以叫集群,他们是不是一起协作着干活,这个谁也不知道:一 ...

  3. SLAM领域资源链接

    半闲居士高翔博客: https://www.cnblogs.com/gaoxiang12/ 视觉大佬冯兵博客: http://www.fengbing.net/ SLAMCN http://www.s ...

  4. 8.windows-oracle实战第八课 --管理权限和角色

    权限:      如果要执行某种特定的数据库操作,就要赋予系统的权限:      如果要执行访问其他方案的对象,就要赋予对象的权限. 1.创建ken和tom用户 create user ken ide ...

  5. 你知道你对 JSON Web Token 的认识存在误解吗

    1.前言 JSON Web Token (JWT) 其实目前已经广为软件开发者所熟知了,但是 JOSE (Javascript Object Signing and Encryption) 却鲜有人知 ...

  6. C语言入门基础整理

    学习计算机技术,C语言可以说是必备的,他已经成为现在计算机行业人学习必备的,而且应用也是十分的广泛,今天就来看看拥有几年c语言工作经验的大神整理的C语言入门基础知识,没有学不会,只有不肯学. 结构化程 ...

  7. SaltStack schedule功能

    1.确保计划中没有作业 salt.states.schedule.absent(name, **kwargs) 2.确保在计划中禁用的作业 salt.states.schedule.disabled( ...

  8. oracle_(第二课)监听器配置

    一. 1.首先我们得安装好oracle数据库(上一课有讲) 再来看看我们没有监听器之前的文件 文件路径:%ORACLE_HOME%/NETWORK/ADMIN 2.关闭所有防火墙,win10的要特别注 ...

  9. win下PowerShell的簡單使用

  10. [LC] 1002. Find Common Characters

    Given an array A of strings made only from lowercase letters, return a list of all characters that s ...