import sqlite3

cx = sqlite3.connect('E:\\student3.db')

cx.execute( '''CREATE TABLE StudentTable(
ID INTEGER PRIMARY KEY AUTOINCREMENT,
StuId INTEGER NOT NULL,
NAME TEXT NOT NULL,
CLASS INT NOT NULL
);''') print("Table created successfully!")
Table created successfully!
cx.execute('''CREATE TABLE CourseTable  (
CourseId INT NOT NULL,
Name TEXT NOT NULL,
Teacher TEXT NOT NULL,
Classroom TEXT NOT NULL,
StartTime CHAR(11) NOT NULL,
EndTime CHAR(11) NOT NULL
);''') cu = cx.cursor() CourseTable = [('', 'Qt', 'ming', 602, 'Monday9:00', 'Monday11:00'),('', 'Linux', 'han', 605, 'Friday13:20', 'Friday14:20'),('', 'sqlite3', 'hah', 608, 'Thursday15:00', 'Thursday17:00')]
cu.executemany("insert into CourseTable values(?, ?, ?, ?, ?, ?)", CourseTable)
cx.commit()
print("Table created successfully!")
Table created successfully!
cx.execute('''CREATE TABLE XuankeTable(
ID INTEGER PRIMARY KEY AUTOINCREMENT,
StuId INT NOT NULL,
CourseId INT NOT NULL
);''') print("Table created successfully")
Table created successfully
def insert_stu():#插入学生信息
cu = cx.cursor()
stu_id = input("请输入学生学号:")
cu.execute("select StuId from StudentTable where StuId =%s" %(stu_id))
row = cu.fetchone()
if row:
print("Sorry,该学号已存在,请重新输入")
else:
stu_name = input("请输入学生姓名")
stu_class = input("请输入学生班级")
sql1 = "insert into StudentTable(StuId, NAME, CLASS) values(%s, '%s', %s);" % (stu_id, stu_name, stu_class)
cu.execute(sql1)
cx.commit()
print("恭喜你,学生录入成功!")
cu.close()
def xuanke():#学生选课
cu = cx.cursor()
stu_id = input("请输入要选课的学生学号:")
sql2 = "select StuId from StudentTable where StuId =%s"%(stu_id)
cu.execute(sql2)
row = cu.fetchone()
if row:
sql3 = "select CourseId, Name, Teacher, Classroom, StartTime, EndTime from CourseTable"
cu.execute(sql3)
rows = cu.fetchall()
for row in rows:
print("CourseId = ", row[0])
print("Name = ", row[1])
print("Teacher = ", row[2])
print("Classroom = ", row[3])
print("StartTime = ", row[4])
print("EndTime = ", row[5], "\n")
cou_id = input("请输入要选的课程号是:")
sql0 = "select CourseId from CourseTable where CourseId = %s"%(cou_id)
cu.execute(sql0)
row = cu.fetchone()
if row:
sql = "select StuId CourseId from XuankeTable where CourseId = %s and StuId = %s;" % (cou_id,stu_id)
cu.execute(sql)
row = cu.fetchone()
if row:
print("该课程已选,不能重复选课!")
else:
sqll = "insert into XuankeTable (stuId,CourseId) values (%s,%s);" % (stu_id,cou_id)
cu.execute(sqll)
cx.commit()
print("带喜你,选课成功!")
else:
print("Sorry,该课程不存在!")
else:
print("Sorry,没有该学生号!")
cu.close()
def stu_id_search():#通过学生Id,查询学生信息
cu = cx.cursor()
search_stu_id = input("请输入要查询的学号:")
sql4 = "select ID,StuId,NAME,CLASS from StudentTable where StuId=%s"%(search_stu_id)
cu.execute(sql4)
row = cu.fetchone()
cx.commit()
if row:
sql5 = "select ID,StuId,NAME,CLASS from StudentTable"
cu.execute(sql5)
rows = cu.fetchall()
for row in rows:
print("---------")
print("您要查询的学生信息为:")
print("ID=",row[0])
print("StuId",row[1])
print("NAME=",row[2])
print("CLASS = ",row[3],"\n")
else:
print("Sorry, 没有该学生信息!")
cu.close()
def stu_id_cou():#通过学生Id,查询学生Id的课程信息
cu = cx.cursor()
stu_id = input("请输入要查询学生号:")
sql5 = "select StuId from StudentTable where stuId =%s" % (stu_id)
cu.execute(sql5)
row = cu.fetchall()
if row:
sql6 = "select * from XuankeTable a left join CourseTable b on a.CourseId=b.CourseId"
cu.execute(sql6)
rows = cu.fetchall()
for row in rows:
print("该学生所选课程为:")
print("StuId = ",row[1])
print("CourseId = ",row[2])
print("Name = ", row[4])
print("Teacher = ", row[5])
print("Classroon =",row[6])
print("StartTime = ",row[7])
print("EndTime = ", row[8], "\n")
print("-----------------")
else:
print("sorry,没有该学生选课信息!")
cu.close()
def cou_id_serach():#通过课程Id,查询课程信息
cu = cx.cursor()
cou_id = input("请输入要查询的课程号:")
sql7 = "select CourseId,Name,Teacher,Classroom,StartTime,EndTime from CourseTable where CourseId =%s"%(cou_id)
cu.execute(sql7)
row = cu.fetchone()
if row:
print("您要查询的课程信息为:")
print("CourseId = ", row[0])
print("Name = ", row[1])
print("Teacher = ", row[2])
print("Classroom = ", row[3])
print("StartTime = ",row[4])
print("EndTime = ", row[5], "\n")
else:
print("Sorry,没有该课程信息!")
cu.close()
def cou_id_stu():#通过课程号查询所选学生信息
cu = cx.cursor()
cou_id = input("请输入课程号:")
sql8 = "select CourseId from XuankeTable where CourseId =%s" % (cou_id)
cu.execute(sql8)
row = cu.fetchone()
if row:
sql9 = "select * from XuankeTable a left join StudentTable b on a.StuId=b.StuId"
cu.execute(sql9)
rows = cu.fetchall()
for row in rows:
print("-----------------------------")
print("选择该课程的学生为:")
print("StuId = ", row[1])
print("NAME = ", row[5])
print("CLASS = ", row[6])
else:
print("Sorry,没有该课程信息!")
cu.close()
def menu():
print("1.进入学生信息系统(学生信息录入)")
print("2.进入学生选课系统(学生选课操作)")
print("3.进入学生选课信息系统(学生信息查询和选课情况查询)")
print("4.退出程序")
def student():
print("1.录入学生信息")
print("2.返回主菜单") def Course():
print("1.开始选课")
print("2.返回主菜单") def information():
print("1.按学号查询学生信息")
print("2.按学号查看学生选课课程列表")
print("3.按课程号查看课程信息")
print("4.按课程号查看选课学生列表")
print("5.返回主菜单")
while True:
menu()
print("---------------------")
x = input("请输入您的选择菜单号:")
if x == '':
student()
stu = input("您已进入学生录入系统,请再次输入选择菜单:")
print("---------------------")
if stu == '':
insert_stu()
continue
if stu == '':
continue
else:
print("输入的选项不存在,请重新输入!")
continue if x == '':
#进入造课信息系统
Course()
cou = input("您已进入学生选课系统,请再次输入选择菜单:")
print("------------------")
if cou == '':
xuanke()
continue
if cou == '':
continue
else:
print("输入的选项不存在,请重新输入!")
continue if x == '':
#进入学生选课信息表
information()
inf = input("您已进入学生选课信息系统,请再次输入选择菜单:")
print("------------------")
if inf == '':
stu_id_search()
continue
if inf == '':
stu_id_cou()
continue
if inf == '':
cou_id_serach()
continue
if inf == '':
cou_id_stu()
else:
print("输入的选项不存在,请重新输入!")
continue if x == '':
print("谢谢使用")
exit()
else:
print("输入的选项不存在,请重新输入!")
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. day67-CSS字体属性、文字属性、背景属性、css盒子模型

    1. 字体属性 1.1 文字字体:font-family可以把多个字体名称作为一个“回退”系统来保存.如果浏览器不支持第一个字体,则会尝试下一个.浏览器会使用它可识别的第一个值. * {font-fa ...

  2. oracle 学习(三)pl/sql语言函数

    系统内置函数 数学运算函数 字符串函数 统计函数 日期函数 用户定义函数:存储在数据库中的代码块,可以把值返回到调用程序.调用时如同系统函数一样 参数模式 IN模式:表示该参数时输入给函数的参数 OU ...

  3. ZJNU 1542 - 三角形(续)--中高级

    从小到大排序后 先固定一遍,另外两边递增查找 即固定 i,j=i+1,k=j+1 然后让k递增到 a[i]+a[j]<=a[k] 时 此时不能凑成一个三角形 答案增加 k-1-j 组 此时不需要 ...

  4. 帝国CMS7.5后台美化模板 后台风格修改 帝国CMS后台模板

    都知道帝国CMS功能强悍,生成静态html也非常好用.可是有时候他的后台样式,丑的让你不想用,dede呢,漏洞太多,PHPCMS好看,可是门槛要求高,你会写PHP才行. 帝国CMS后台美化模板:全面美 ...

  5. 886A. ACM ICPC#均值分配问题(暴力)

    题目出处:http://codeforces.com/problemset/problem/886/A 题目大意:已知六个人得分,问是否能分成两个三人队使得每个队伍得分加和相等 #include< ...

  6. liunx常用命令笔记

    安装软件教程 linux安装java:https://www.cnblogs.com/lamp01/p/8932740.html linux安装mysql:https://www.cnblogs.co ...

  7. SQL:找到特定日期每个顾客最高购买量:Find the highest purchase amount ordered by the each customer on a particular date, with their ID, order date and highest purchase amount.

    A: SELECT customer_id,ord_date,MAX(purch_amt) FROM orders GROUP BY customer_id,ord_date; find the hi ...

  8. iframe高度相关知识点整理

    IFRAME 元素也就是文档中的文档. contentWindow属性是指指定的frame或者iframe所在的window对象. 用iframe嵌套页面是,如果父页面要获取子页面里面的内容,可以使用 ...

  9. linux查看显卡

    查看 nvidia 显卡 $ lspci | grep -i nvidia 02:00.0 3D controller: nVidia Corporation Device 1023 (rev a1) ...

  10. 元组(tuple)的用途(基础)

    >>>a = 123,456,'jia',['jia','xiang'] >>>a (123, 456, 'jia', ['jia', 'xiang']) 这个带括 ...