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等。