[Python期末拯救者]一个操作简单但不太完整的数据库框架

声明:本文旨在多快好省地帮助无基础但是又要应付期末作业的学生,大佬勿喷!

在我们python程序设计的期末作业中,要求使用sqllite数据库,但是关系型数据库的操作对于新手来说却是一件较为困难的事情,于是就有了这个勉强能对付期末作业的数据库框架

1、关系型数据库的结构

对于关系型数据库来说,顶层的结构是数据库(可以理解为excel表格的工作簿),接下来是数据表(可以理解为excel表格的工作表),数据表中又包含各个字段(相当于表格的列,但是每个字段都有确定的数据类型),每个字段一组确定的值称为记录(相当于表格的行)。

所以,数据库的操作就是一个创建表,然后在表中进行增删改查的过程。

2、关于我的LiteDBC模块的设计思路

LiteDBC类

可以将它看成一个数据库

这个类是用来处理创建数据表的操作以及生成LiteTable的对象

LiteTable类

可以将它看成一个数据表

可以进行数据表中增删查的操作 (为什么没有改?因为应付期末作业多半用不到(我才不会告诉你是我懒))

3、怎么使用

以下是测试代码

import LiteDBC

ldbc = LiteDBC.LiteDBC()
ltb = ldbc.createTable('aaa', ('name','str'), ('age','int'), ('score','float') )

ltb.insertLine(['张三',18,114.1]) #增
ltb.insertLines([
['李四',20,514.6],
['steve',21,321.1]
])

print(ltb.getAllFields()) # 查
print(ltb.getCertainFields(['name','age']))
print('-----------------------------------')

ltb.RemoveByCondition('name','张三')#删
print(ltb.getAllFields()) # 查看一下删掉没
ltb.RemoveAll()
print(ltb.getAllFields()) # 查看一下删掉没

以下是输出结果

LiteDBC类的createtable方法可以创建一个数据表,第一个参数是数据表名,第二个参数是字段名称和其数据类型,目前只支持 int float str类型,返回值是一个LiteTable对象(为啥没有其他数据库数据类型?应付作业用不到(我才不会告诉你是我懒))

LiteDBC类的getTable方法可以通过表名来创建LiteTable对象。请保证这个表名在数据库中真实存在,不然会异常,这个方法是用在那种已经有表,而又不想描述字段的情况下。

以上是LiteDBC类的作用

对于数据表增加记录,LiteTable提供了insertLine,insertLines两个方法

insertLine的唯一一个参数是按照你创建表的字段的顺序,用一个列表传入所有字段的值,请保证传入的每个值和你创建表时的字段的顺序、数据类型是一致的,否则可能会出现意想不到的问题

insertLines就是把insertLine函数的参数打成列表,自动帮你循环填入

对于查找数据表的记录,LiteTable提供了getAllFields与getCertainFields

getAllFields会返回你这张数据表中所有字段的所有记录,返回值的数据类型是一个以元组(tuple)为元素的列表。每个元组(tuple)代表一个记录,元组(tuple)中数据的顺序即为创建表时字段的顺序

getCertainFields会查找所有记录,并且会按照你传入的参数返回对应字段的值,返回值类型和getAllFields相同,但是每个元组中只有你传入参数的字段

对于记录的删除,LiteTable提供了RemoveAll与RemoveByCondition两个方法

RemoveAll 简单粗暴的删掉所有记录(用于删库跑路[doge])

RemoveByCondition 删除所有满足条件的记录(删除一行,不是一个格子!!!),你需要传入用于匹配的字段名和对应的值

以上就是这个简易且不完整的数据库管理程序的所有介绍

以下是源代码下载链接

https://wwao.lanzoue.com/iWRIy2j404sd