轻量级数据库应用:Python SQLite模块的全面解析

发表时间: 2019-07-27 19:05

SQLite是一款轻型的数据库,遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,数据库是一个.db文件。由于SQLite本身是C写的,而且体积很小,占用资源非常的低,所以,经常被用于开发一些小型项目或者脚本工具,百万级数据存储查询对于SQLite来讲轻轻松松。

Python定义了一套操作数据库的API接口,任何数据库要连接到Python,只需要提供符合Python标准的数据库驱动即可。

由于SQLite的驱动内置在Python标准库中,所以我们可以直接来操作SQLite数据库。

SQLite 操作流程

  • 打开连接数据库
  • 获取游标
  • 通过游标执行SQL,获取执行结果
  • 关闭游标
  • 关闭数据库链接

设计一张学生信息表

如下是一张学生信息表Student_Information,Id为主键唯一索引,分别包含学生姓名、年龄、学籍注册状态、班级。

SQL建表语句如下


SQLite 建表

SQLite 的 CREATE TABLE 语句用于在任何给定的数据库创建一个新表。创建基本表,涉及到表名称、字段名称及字段类型,基本语法如下:

代码实现示例如下:

我们使用Navicat For SQLite客户端工具链接数据库,可以查看在Dm_Result.db文件中创建了Student_Information表,如下:

通常,根据程序设计,我们会创建多张表,如何在一次性完成全部表的创建,我们在Create类中添加如下方法:

我们直接运行Create().run_all(),即可实现将一次性执行了Create类中除了初始化和run_all方法之外的全部方法。


SQLite 数据写入

如下,实现将上面表格数据写入到学生信息表中,代码实现示例如下:

我们使用Navicat For SQLite客户端工具链接数据库,可以查看写入数据,如下:

当然可以通过cursor.execute(sql),直接执行数据插入sql,一般来讲SQLite支持两种语法结构,如下:

另一种


SQLite 数据查询

SQLite数据查询的基本语法如下:

代码实现示例如下:

执行上述代码,可以获取 SELECT * from Student_Information的全部数据,如下:


SQLite 数据删除

代码实现示例如下:

如下,删除了Student_Information表中全部数据:


最后

如上,我们通过Cursor对象执行create,select,insert,update,delete数据操作。需要注意的是要保证打开的Connection对象和Cursor对象都被正确地关闭,否则,资源就会泄露。

通常使用
try:...except:...finally:...确保链接被正确的关闭,我们以数据删除为例,代码示例如下:


专栏
每天八分钟Python基础编程
作者:软件测试开发技术栈
28.99币
37人已购
查看