SQLite:轻量级开源数据库的详细介绍

发表时间: 2024-02-28 21:40


SQLite 是一个自包含的,无服务器的,零配置的,事务性的 SQL 数据库引擎。它是一个开源项目,由C语言开发,不受版权限制,可以在各种编程语言中使用它,如 Python、Java、C# 等。

相对于其他数据库,SQLite数据库比较特殊,首先,它并不是一个独立服务,只有一个数据文件,应用程序可以直接与其交互,直接在文件系统中创建和操作它,不需要任何配置,可以快速简单的创建存储解决方案。其次,SQLite 是一个非常小的文件,配置后的二进制文件一般不超过 1MB ,这在一些资源受限的环境中非常有用,比如嵌入式系统、移动应用、物联网等。

虽然 SQLite 非常方便和高效,但并不适合处理大量的并发写入,或者需要多用户共享和写入的场景,一般用在轻量级本地存储的场景。

在使用于C#操作SQLite时,可下载官方提供了System.Data.SQLite库,也可使用微软开发的Microsoft.Data.SQLite,可以直接在nuget下载。使用方法比简单,典型应用代码如下:

using (var connection = new SqliteConnection("Data Source=hello.db")){    connection.Open();    var command = connection.CreateCommand();    command.CommandText =    @"        SELECT name        FROM user        WHERE id = $id    ";    command.Parameters.AddWithValue("$id", id);    using (var reader = command.ExecuteReader())    {        while (reader.Read())        {            var name = reader.GetString(0);            Console.WriteLine($"Hello, {name}!");        }    }}

具体使用说明可参考官方文档
https://www.sqlite.org/index.html

或微软的帮助手册
https://learn.microsoft.com/zh-cn/dotnet/standard/data/sqlite/?tabs=netcore-cli

通过命令行操作配置比较困难,为了方便使用,通常会选择一款可视化的操作工具,商业版本一般推荐navicat,免费版本也比较多,虽然功能比较单一,但也能满足大多数的用户需求。本文以SQLiteStudio为例,演示操作过程。

启动界面如下图

点击“数据库”——“添加数据库”,弹出对话框,点击文件后的文件夹图标,弹出文件目录选择,如果文件已存在,直接选中文件,如果不存在,则输入文件名和后缀,自动创建新的数据文件,点击测试连接,显示成功后,点击OK按钮。

在对应数据库列表上点击右键,选择“新建表”,即可创建新的数据表。


在表名位置输入新建表的名称,点击工具栏的“添加列”

输入列名,选择数据类型,配置列信息等


点击确定按钮,弹出执行SQL语句,点击OK后开始执行操作。


切换到数据选项卡,点击“+”号,输入一行数据,点击“-”号,删除数据,点击确认后执行操作。

右键点击对应的数据行,选择“为选中单元格生成查询”——“SELECT"


可以自动生成SQL语句,可直接复制到程序代码中执行,方便使用。

点击”工具“——”打开SQL编辑器“,可进入SQL编辑器界面,可手动编辑SQL语句。

输入SQL语句,点击运行按钮,输出查询结果。

本文只是介绍了一些基本功能,详细内容可参考官方帮助文档。

最后再次提醒,SQLite 虽然很好,但是只适合应用在轻量级本地存储场景,在需要处理大量的并发写入,或者需要多用户共享和写入的场景,建议还是使用传统数据库,如SQL Server、PostgreSQL和MySQL等。