python学生管理系统用列表_史上最全面的python学生管理系统教程(二)
序言
这篇我们来讲该软件的数据保存方式,由于想到要简便快捷,所以我采用了sqlite3数据库,该数据库操作简单方便,而且易于管理,并且SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。我给大家推荐一款小巧的sqlite数据库文件打开的应用:SQLite Spy。百度一下就可以下载。
数据库构造
该软件需求为三位角色:学生,教师,管理员。
为了从简,我把管理员只设置为一位,所以就不再给他设计管理员表了,只设计了三张表,分别为:学生信息表,教师信息表,课程成绩表。
还是那句话,为了从简,我把学生信息表跟教师信息表两张表结构设计的大致一样,这样就可以代码复用了,但是为了好分辨,我还是分别写了两个py文件。
学生信息表结构:
create table if not exists student_info
(
id integer PRIMARY KEY autoincrement,
student_number varchar(12),
student_name varchar(10),
student_passworld varchar(128),
age varchar(2)
)
教师信息表结构:
create table if not exists teacher_info
(
id integer PRIMARY KEY autoincrement,
teacher_number varchar(12),
teacher_name varchar(10),
teacher_passworld varchar(128),
age varchar(2)
)
课程成绩表结构:
create table if not exists student_achievement
(
student_number varchar(12),
student_name varchar(10)
)
因为教师可以添加课程科目,所以初始表比较简单,并且课程表是跟随学生表联动的,当注册一个学生信息时自动创建该学生的课程成绩表。具体构思如下:
教师添加课程:
# 往成绩数据库中添加新的一列科目成绩
def achievement_insertData(subject_name):
hel = achievement_opendb()
hel[1].execute("alter table student_achievement add column "+subject_name+" int")
hel[1].commit()
hel[1].close()
学生表连接课程成绩表:
# 往学生数据库中添加内容
def user_insertData(number,name,pw,age):
achievement_infoData(number,name)#同时插入到课程成绩表
hel = user_opendb()
hel[1].execute("insert into student_info(student_number,student_name, student_passworld,age)values (?,?,?,?)",(number,name,pw,age))
hel[1].commit()
hel[1].close()
半盏清茶℡
发布了16 篇原创文章 · 获赞 1 · 访问量 1362
私信
关注
标签:教程,varchar,name,管理系统,python,数据库,number,student,hel
python学生管理系统用列表_史上最全面的python学生管理系统教程(二)相关推荐
- python各种包安装顺序_史上最全的Python包管理工具:Anaconda教程
事实上Anaconda 和 Jupyter notebook已成为数据分析的标准环境. 简单来说,Anaconda是包管理器和环境管理器,Jupyter notebook 可以将数据分析的代码.图像和 ...
- 史上最全面的python学生管理系统教程(二)
目录 序言 sqlite使用教程 python sqlite使用教程 数据库构造 学生信息表结构: 教师信息表结构: 课程成绩表结构: 教师添加课程: 学生表连接课程成绩表: 数据库语句了解 sqli ...
- python 完全面向对象_史上最全的Python面向对象知识点疏理
原标题:史上最全的Python面向对象知识点疏理 面向对象技术简介 类: 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例.class 类变量:类变 ...
- python高分书籍推荐_史上最全的Python书排行榜|你想知道的都在这里
原标题:史上最全的Python书排行榜|你想知道的都在这里 感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习,问答.求职一站式搞定 ...
- python迭代器与生成器答案_史上最全 Python 迭代器与生成器
原标题:史上最全 Python 迭代器与生成器 作者:浪子燕青 链接:http://www.langzi.fun/迭代器与生成器.html 迭代器与可迭代对象 概念 迭代器:是访问数据集合内元素的一种 ...
- python有什么好玩的书_史上最全的Python书排行榜|你想知道的都在这里
这是菜鸟学Python的第99篇原创文章 阅读本文大概需要3分钟 引用 学Python这么久了,回首想想自己看过的Python书也不少,到底哪本书最牛,哪本书最火呢,哪个出版社出版的Python最多的 ...
- python最全知识点_史上最全的Python面向对象知识点疏理
51CTO诚邀您9月23号和秒拍/国美/美团元专家一路聊智能CDN的优化之路,抓紧时光哦! 面向对象技巧简介 类: 用来描述具有雷同的属性和办法的对象的集合.它定义了该集合中每个对象所共有的属性和办法 ...
- python快速入门期末版_史上最全Python快速入门教程,满满都是干货
原博文 2020-10-11 17:07 − Python是面向对象,高级语言,解释,动态和多用途编程语言.Python易于学习,而且功能强大,功能多样的脚本语言使其对应用程序开发具有吸引力.Pyth ...
- python类对象点处折行_史上最全的Python面向对象知识点疏理(对象是类的实例)
(对象是类的实例) 面向对象技术简介 类:用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例.class 类变量:类变量在整个实例化的对象中是公用的. ...
最新文章
- 记录一个免费而且好用的SSH登录软件_SecureCRT
- javascript:void到底是个什么?
- SendKeys中特殊字符的键代码
- 水印铺满_一张人民币水印纸的“争气”之路
- 初识Qt Creator
- python从零开始系列连载_技术 | Python从零开始系列连载(一)
- sqlplus环境配置(login.sql)
- Linux与Windows中的UTC时间
- P6295 有标号 DAG 计数(多项式指数函数对数函数/二项式反演/动态规划/生成函数)
- 如何用一套引擎搞定机器学习全流程?
- (转)分布式文件存储FastDFS(三)FastDFS配置
- 初学者python笔记(装饰器、高阶函数、闭包)
- oracle sequence使用多,Oracle中Sequence使用的限制
- java 联合_如何在java中进行联合,相交,区分和反向数据
- MSN Messenger协议
- 计算机考研的初试和复试的区别,考研初试和复试之间的区别
- ios 表情符号 键盘_更方便地输入颜文字表情:教你如何在 iPhone 键盘中添加颜文字...
- 2020谷歌学术指标出炉,CVPR成AI学术会议总榜第一名
- 2022年云南最新建筑八大员(市政)模拟考试题库及答案
- 为地球减碳1亿吨,阿里云低碳科技加速器发布