SQLite:全球部署量最大的轻量级嵌入式 SQL 数据库引擎 #
SQLite 是什么? #
SQLite 是一款用 C 语言编写的轻量级嵌入式关系型数据库引擎,它以“小型、快速、可靠——三者任选其一”为设计口号,通过一个库文件即可为应用程序提供完整的 SQL 数据库能力。与 MySQL、PostgreSQL 等需要独立服务器进程的数据库不同,SQLite 以“零配置”的方式直接嵌入到宿主程序之中,整个数据库(包括表、索引、触发器和视图)都存储在磁盘上的单个跨平台文件中,读写过程完全在进程内完成。
它适用于移动应用、桌面软件、物联网设备、网站后台、测试演示以及作为应用程序的文件格式等场景,帮助开发者免去部署数据库服务器和编写自定义解析器的繁琐工作。SQLite 源代码处于公共领域(Public Domain),可自由用于任何用途,是目前全球部署量最大的数据库引擎——它内置于所有手机和大多数计算机中,并被无数日常应用所捆绑使用。
SQLite 有哪些亮点特色? #
- 零配置,无需服务器:SQLite 不需要安装、启动或管理任何独立的数据库服务器进程,也无需 DBA 参与维护,直接调用库函数即可完成数据库操作,极大降低了部署与运维成本。
- 单文件存储,跨平台通用:整个数据库(含表、索引、触发器、视图)都存放在一个跨平台的磁盘文件中,方便备份、迁移与共享,也被官方推荐作为应用程序的文件格式使用,替代 XML、JSON、CSV 等自定义格式。
- 完整的事务与 ACID 保证:即使遭遇系统崩溃或断电,SQLite 的事务仍然保持原子性、一致性、隔离性和持久性(ACID),确保数据安全可靠。
- 功能完备的 SQL 引擎:支持部分索引、表达式索引、JSON、公共表表达式(CTE)、窗口函数、全文搜索(FTS5)、R-Tree、STRICT 表、生成列等高级特性,SQL 语法覆盖面广。
- 体积小、速度快:在完整配置下代码占用不足 900 KiB,关闭可选特性后体积更小;官方指出在某些场景下,SQLite 的读写速度甚至快于直接的文件系统 I/O。
- 可靠性与测试覆盖:源码注释完善,拥有 100% 分支测试覆盖率,配合严格的发布流程,使其以极高的稳定性著称;官方称其为“高可靠性”数据库引擎。
- 自包含、无外部依赖:SQLite 不依赖任何第三方库,可编译为单个 ANSI-C 源码文件(amalgamation),非常容易集成进更大的工程。
- 跨平台与多语言绑定:开箱支持 Android、*BSD、iOS、Linux、Mac、Solaris、VxWorks 和 Windows(Win32/WinCE/WinRT)等平台,并附带 TCL 绑定,另有几十种语言的第三方绑定可供选择。

免费下载 SQLite #
以下为官方提供的各平台安装包,点击链接即可下载。当前版本为 SQLite 3.54.0(2026-10-09 发布),Windows 用户可下载 DLL 或命令行工具包,macOS 用户可下载对应架构的 tools 包。
| 文件名 | 描述 | 大小 | 下载 |
|---|---|---|---|
| sqlite-dll-win-arm64-3540000.zip | Windows ARM64 动态链接库(DLL),SQLite 3.54.0 | 1.0 MB | 夸克网盘 |
| sqlite-dll-win-x64-3540000.zip | Windows x64 动态链接库(DLL),SQLite 3.54.0 | 1.4 MB | 夸克网盘 |
| sqlite-dll-win-x86-3540000.zip | Windows x86(32 位)动态链接库(DLL),SQLite 3.54.0 | 1.1 MB | 夸克网盘 |
| sqlite-tools-osx-arm64-3540000.zip | macOS ARM 命令行工具(shell、sqldiff、sqlite3_analyzer、sqlite3_rsync) | 4.3 MB | 夸克网盘 |
| sqlite-tools-osx-x64-3540000.zip | macOS x64 命令行工具(shell、sqldiff、sqlite3_analyzer、sqlite3_rsync) | 4.3 MB | 夸克网盘 |
| sqlite-tools-win-arm64-3540000.zip | Windows ARM64 命令行工具(shell、sqldiff、sqlite3_analyzer、sqlite3_rsync) | 5.4 MB | 夸克网盘 |
| sqlite-tools-win-x64-3540000.zip | Windows x64 命令行工具(shell、sqldiff、sqlite3_analyzer、sqlite3_rsync) | 6.7 MB | 夸克网盘 |
官方下载页还提供源码包(sqlite-src、sqlite-amalgamation、sqlite-autoconf)、文档包(sqlite-doc)、Android AAR 库、Linux 命令行工具包以及 WebAssembly 构建包(sqlite-wasm),如需可访问 https://sqlite.org/download.html 获取。
SQLite 如何使用? #
SQLite 的使用分为“命令行交互”和“编程集成”两条路径,官方提供了《SQLite In 5 Minutes Or Less》快速上手文档,新手可按以下步骤操作:
- 获取二进制文件:从下载页获取对应平台的预编译二进制(DLL 或 tools 包),或下载源码自行编译。Windows 用户解压 tools 包后可直接得到
sqlite3.exe。 - 用命令行创建数据库:在终端或 DOS 提示符下输入
sqlite3 test.db,即可在当前目录创建一个名为test.db的新数据库(名称可自定义)。 - 执行 SQL 语句:进入 CLI 交互界面后,直接输入 SQL 命令(如
CREATE TABLE、INSERT、SELECT)来建表和读写数据;输入.help可查看所有点命令,输入.quit退出。 - 编写使用程序:以 C/C++ 为例,调用
sqlite3_open()打开数据库、sqlite3_exec()执行 SQL、sqlite3_close()关闭连接;TCL 用户则可使用package require sqlite3与sqlite3 db 文件名命令。 - 在线试用(可选):官方提供基于 WebAssembly 的在线 CLI,访问 https://sqlite.org/fiddle 即可在浏览器中直接运行 SQL 语句,无需本地安装。
此外,官方还提供了 Android 预编译库、System.Data.SQLite(.NET)以及 Tcl、Python、Java 等几十种语言的绑定,开发者可根据技术栈选择相应接口。
SQLite 的常见问题? #
SQLite 是免费的吗?可以商用吗? 完全免费。SQLite 源码处于公共领域(Public Domain),任何人都可以出于任何目的自由使用、修改和分发,无需支付授权费用,也无需担心许可协议约束。
SQLite 与 MySQL、PostgreSQL 有什么区别? SQLite 是嵌入式数据库,不需要独立的服务器进程,整个数据库就是一个文件;而 MySQL/PostgreSQL 属于客户端/服务器架构,需要单独部署和运维。SQLite 更适合单机应用、移动端和中小型网站,缺乏大规模并发写入能力,不适合高并发写入的中心化服务。
SQLite 能支撑多大规模的数据? 官方说明 SQLite 支持 TB 级数据库以及 GB 级的字符串和 BLOB 对象,完全能够满足绝大多数桌面、移动和嵌入式场景的存储需求。
为什么我下载的 macOS 命令行工具无法运行?
官方提示 macOS 上的二进制未经签名(unsigned)。安装到 $PATH 后,需要执行 xattr -d com.apple.quarantine <程序名> 来移除隔离属性,才可正常使用。
SQLite 支持哪些编程语言? 官方原生提供 ANSI-C 接口和 TCL 绑定,另外还有大量由第三方维护的绑定,覆盖 Python、Java、C#/.NET、PHP、Ruby、Node.js、Go 等主流语言。
如何确认下载包的完整性?
官方下载页为每个文件提供了 SHA3-256 哈希值,例如 sqlite-dll-win-x64-3540000.zip 的 SHA3-256 为 f5fb500c73a3afd89976386bb8e4fdc8b5b65c052e187fb1ada1f5de034cd45b,下载后可自行校验。
SQLite 如何安装? #
SQLite 作为嵌入式库和命令行工具,安装方式与普通软件不同,通常不需要“安装程序”,而是将文件放入合适位置或加入环境变量。
Windows
- 若用于开发集成,下载
sqlite-dll-win-*.zip,解压得到sqlite3.dll与sqlite3.def,将其放到应用程序目录或系统 DLL 搜索路径中。 - 若需要命令行工具,下载
sqlite-tools-win-*.zip,解压得到sqlite3.exe、sqldiff.exe、sqlite3_analyzer.exe、sqlite3_rsync.exe。 - 将解压目录加入系统环境变量
PATH,即可在任意位置通过sqlite3命令调用。 - 可选用 Visual Studio 等工具从源码编译 DLL:
cl sqlite3.c -link -dll -out:sqlite3.dll。
macOS
- 下载
sqlite-tools-osx-arm64-3540000.zip(Apple Silicon)或sqlite-tools-osx-x64-3540000.zip(Intel)。 - 解压后将可执行文件移动到
/usr/local/bin等已在$PATH中的目录。 - 由于官方二进制未签名,需执行
xattr -d com.apple.quarantine /usr/local/bin/sqlite3等命令解除隔离。 - 也可通过 Homebrew 安装:
brew install sqlite。
Linux
- 多数发行版已内置 SQLite,可直接使用
sqlite3命令;如需最新版本,下载sqlite-tools-linux-x64-3540000.zip并解压。 - 使用包管理器安装:Debian/Ubuntu 执行
sudo apt install sqlite3,RHEL/CentOS 执行sudo yum install sqlite。 - 从源码编译:下载
sqlite-autoconf-3540000.tar.gz,依次执行./configure && make && sudo make install。
iOS / Android / Web
- Android 项目可直接引入官方 AAR:
sqlite-android-3540000.aar,或使用平台内置的 SQLite。 - iOS 系统自带 SQLite,直接调用系统库即可。
- Web 端可下载
sqlite-wasm-3540000.zip,在浏览器中加载sqlite3.wasm及其 JS API。
SQLite 如何卸载? #
由于 SQLite 通常以库文件或命令行工具的形式存在,卸载方式为删除相关文件或使用包管理器,不涉及注册表写入(Windows DLL 除外)。
Windows
- 若通过安装包或手动解压部署,直接删除
sqlite3.dll、sqlite3.def及 tools 目录下的sqlite3.exe等文件。 - 若曾将目录加入
PATH,请从系统环境变量中移除对应路径。 - 若通过第三方安装器(如 Chocolatey)安装,可执行
choco uninstall sqlite完成卸载。
macOS
- 删除
/usr/local/bin/sqlite3、sqldiff、sqlite3_analyzer、sqlite3_rsync等可执行文件。 - 若通过 Homebrew 安装,执行
brew uninstall sqlite。 - 数据库文件(.db/.sqlite)为用户数据,卸载程序不会自动删除,如需清理请手动移除。
Linux
- 使用包管理器卸载:Debian/Ubuntu 执行
sudo apt remove sqlite3,RHEL/CentOS 执行sudo yum remove sqlite。 - 若是源码编译安装,进入源码目录执行
sudo make uninstall,或手动删除/usr/local/bin/sqlite3、/usr/local/lib/libsqlite3*、/usr/local/include/sqlite3*.h等文件。 - 用户数据库文件(.db)与配置文件默认保留,可按需手动清理。
提示:SQLite 本身不会在系统中留下缓存或注册表残留,卸载过程通常非常干净;若同时被其他应用作为嵌入式库引用,删除系统级 DLL 可能影响这些程序,请谨慎操作。
