SQLite数据库是什么?官方介绍:SQLite是一个用C语言编写的库,实现了一个小巧、快速、自包含、高可靠性、功能齐全的SQL数据库引擎。
简单来说,SQLite数据库是一款开源的轻量级关系型数据,并集成到Android、iOS、macOS、PHP、Python等系统和软件环境中。不像SQL Server、MySQL等关系型数据库管理系统需要通过网络服务进行操作,SQLite数据库不需要使用网络服务器,其数据库基于文件,即,一个数据文件就是是一个数据库。
作为数据库,SQLite也有一些限制,如高频次的事务处理会导致整体性能明显下降,特别是在多用户并发操作和数据写入操作时。此外,SQLite数据库安全依赖于文件系统,文件破坏则数据受损。
综合来说,SQLite数据库主要应用在以下一些场景:
此外,SQLite3是SQLite数据库的重要版本,名称中直接使用了主版本号3。
DB Browser for SQLite(以下简称SQLite Browser)一款图形化界面的SQLite数据库操作软件,可从https://sqlitebrowser.org/dl/下载最新的版本。一般来说,直接下载压缩包文件,解压后即可使用。本合集测试环境为Windows操作系统,在解压的目录中点击“DB Browser for SQLite.exe”打开软件,主界面如下图所示。
关系型数据库的主要特点是:数据由二维表及其关系构成。二维表的概念比较简单,打开Excel、WPS表格等电子表格处理软件时,工作表呈现的结构就是典型的二维表形式。如下图显示的就二维表数据结构。
二维表中,每一列(也称为字段)保存一个数据项,如姓名、性别、年龄等。二维表中的每一行称为一条数据记录,其中的每个数据项会分别对应列的设置,如数据类型等属性。上图中,第一行显示为字段名,数据记录从第二行开始,这是Excel等电子表格中的数据显示方式,而在关系型数据库中,字段会使用独立的定义。
此外,Excel工作表中,单元格的格式可以分别设置,而在关系型数据库中,表中的数据类型必须按列设置,即一列数据的类型和各种约束设置是相同的。
SQLite3数据库中支持的基本数据类型包括:
操作关系型数据库时,SQL语句是不区分大小写的,但在各种文档、教程的示例代码中,关键字、保留字等一般会使用大写形式,如NULL、INTEGER等;本集合中,SQL语句中的关键字、函数名、运算符、对象名等会统一使用小写形式。
需要将Excel导入到SQLite3数据库时,可以通过CSV作为中介。首先,在Excel中,将工作表数据另存为CSV格式,然后在SQLite Browser中导入CSV数据。测试数据可以从http://caohuayu.com/res/Res.aspx?id=res20251201下载,解压后,接下来将“测试数据2.csv”文件的数据导入SQLite数据库。
SQLite Browser中,选择“新建数据库”,在对话框中选择D:盘,并输入数据库文件为cdb_test.db,最后点击“保存”按钮,如下图所示。
创建新的数据库后会弹出新建数据表的窗口,暂时不需要,可以点击右下角的“Cancel”按钮关闭。接下来,通过菜单“文件”>>“导入”>>“从CSV文件导入表”。在显示的导入窗口中,修改表名为t2,选中“列名在首行”,“引号”列表中选择空白,高级设置中选中“禁用类型检测”,其它设置可根据实际情况设置;最后,点击右下角“OK”按钮导入数据,如下图所示。
执行导入操作后,可以看到创建表的SQL语句,如下所示。
CREATE TABLE "t2" ( "f1" , "f2" , "f3" , "f4" , "f4a" , "f4b" , "f5" , "f5a" , "f6" )
可以看到,create table语句中只使用了表名和字段,并没有设置字段的数据类型等属性。
保存对数据库的修改时可以点击SQLite Browser工具栏中的“写入更改”按钮;关闭数据库文件则点击工具栏中的“关闭数据库”按钮。
将SQLite3数据转换为Excel数据时,同样可以通过CSV作为中介,首先在SQLite Browser中导出CSV数据;通过菜单“文件”>>“导出”>>“导出表到CSV文件”打开导出设置窗口。如下图所示,选中需要导出的数据表,选中“第一行列名”,“引号”列表中选择空白,然后点击右下角“Save”按钮。
点击“Save”按钮后会弹出“另存为”窗口,选择CSV文件的保存位置,并点击“保存”。获取CSV文件后,可以CSV导入Excel进行操作,导入方法可以参考文章《导入CSV数据、提取和转置》,网址:http://caohuayu.com/article/Article.aspx?id=a251012。
实际工作中,如果能够使用Python等编程技术,可以更加方便地转换SQLite数据和Excel数据,在后续的文章中会讨论相关应用,也可以参考《Excel+Python轻松掌握数据分析》一书。接下来,本合集主要讨论SQLite3数据库的应用。