序言

这篇我们来讲该软件的数据保存方式,由于想到要简便快捷,所以我采用了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学生管理系统教程(二)相关推荐

  1. python各种包安装顺序_史上最全的Python包管理工具:Anaconda教程

    事实上Anaconda 和 Jupyter notebook已成为数据分析的标准环境. 简单来说,Anaconda是包管理器和环境管理器,Jupyter notebook 可以将数据分析的代码.图像和 ...

  2. 史上最全面的python学生管理系统教程(二)

    目录 序言 sqlite使用教程 python sqlite使用教程 数据库构造 学生信息表结构: 教师信息表结构: 课程成绩表结构: 教师添加课程: 学生表连接课程成绩表: 数据库语句了解 sqli ...

  3. python 完全面向对象_史上最全的Python面向对象知识点疏理

    原标题:史上最全的Python面向对象知识点疏理 面向对象技术简介 类: 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例.class 类变量:类变 ...

  4. python高分书籍推荐_史上最全的Python书排行榜|你想知道的都在这里

    原标题:史上最全的Python书排行榜|你想知道的都在这里 感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习,问答.求职一站式搞定 ...

  5. python迭代器与生成器答案_史上最全 Python 迭代器与生成器

    原标题:史上最全 Python 迭代器与生成器 作者:浪子燕青 链接:http://www.langzi.fun/迭代器与生成器.html 迭代器与可迭代对象 概念 迭代器:是访问数据集合内元素的一种 ...

  6. python有什么好玩的书_史上最全的Python书排行榜|你想知道的都在这里

    这是菜鸟学Python的第99篇原创文章 阅读本文大概需要3分钟 引用 学Python这么久了,回首想想自己看过的Python书也不少,到底哪本书最牛,哪本书最火呢,哪个出版社出版的Python最多的 ...

  7. python最全知识点_史上最全的Python面向对象知识点疏理

    51CTO诚邀您9月23号和秒拍/国美/美团元专家一路聊智能CDN的优化之路,抓紧时光哦! 面向对象技巧简介 类: 用来描述具有雷同的属性和办法的对象的集合.它定义了该集合中每个对象所共有的属性和办法 ...

  8. python快速入门期末版_史上最全Python快速入门教程,满满都是干货

    原博文 2020-10-11 17:07 − Python是面向对象,高级语言,解释,动态和多用途编程语言.Python易于学习,而且功能强大,功能多样的脚本语言使其对应用程序开发具有吸引力.Pyth ...

  9. python类对象点处折行_史上最全的Python面向对象知识点疏理(对象是类的实例)

    (对象是类的实例) 面向对象技术简介 类:用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例.class 类变量:类变量在整个实例化的对象中是公用的. ...

最新文章

  1. 记录一个免费而且好用的SSH登录软件_SecureCRT
  2. javascript:void到底是个什么?
  3. SendKeys中特殊字符的键代码
  4. 水印铺满_一张人民币水印纸的“争气”之路
  5. 初识Qt Creator
  6. python从零开始系列连载_技术 | Python从零开始系列连载(一)
  7. sqlplus环境配置(login.sql)
  8. Linux与Windows中的UTC时间
  9. P6295 有标号 DAG 计数(多项式指数函数对数函数/二项式反演/动态规划/生成函数)
  10. 如何用一套引擎搞定机器学习全流程?
  11. (转)分布式文件存储FastDFS(三)FastDFS配置
  12. 初学者python笔记(装饰器、高阶函数、闭包)
  13. oracle sequence使用多,Oracle中Sequence使用的限制
  14. java 联合_如何在java中进行联合,相交,区分和反向数据
  15. MSN Messenger协议
  16. 计算机考研的初试和复试的区别,考研初试和复试之间的区别
  17. ios 表情符号 键盘_更方便地输入颜文字表情:教你如何在 iPhone 键盘中添加颜文字...
  18. 2020谷歌学术指标出炉,CVPR成AI学术会议总榜第一名
  19. 2022年云南最新建筑八大员(市政)模拟考试题库及答案
  20. 为地球减碳1亿吨,阿里云低碳科技加速器发布

热门文章

  1. 微信小程序自适应图片的时候底部总有一条白色的空白区像一条线该怎么办呢?
  2. 扬帆际海:shopee店铺关键词广告怎么获得流量?
  3. EWASM Gas Costs——gas 计算
  4. Gossiping闲聊路由协议
  5. 二级备考:ppt自学知识笔记--基础操作1:ppt界面介绍
  6. 计算机名称缩写大全集,求《魔兽世界》副本名称常用缩写大全?
  7. GMK4045-ASEMI光伏逆变器二极管GMK4045
  8. 查看服务器数据库信息,怎么查看数据库服务器信息
  9. 判断单链表是否有环及环的链接点(转)
  10. 安卓:点击空白处隐藏软键盘