首页/软件/SQLite

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 #

以下为官方提供的各平台安装包,点击链接即可下载。当前版本为 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》快速上手文档,新手可按以下步骤操作:

  1. 获取二进制文件:从下载页获取对应平台的预编译二进制(DLL 或 tools 包),或下载源码自行编译。Windows 用户解压 tools 包后可直接得到 sqlite3.exe。
  2. 用命令行创建数据库:在终端或 DOS 提示符下输入 sqlite3 test.db,即可在当前目录创建一个名为 test.db 的新数据库(名称可自定义)。
  3. 执行 SQL 语句:进入 CLI 交互界面后,直接输入 SQL 命令(如 CREATE TABLE、INSERT、SELECT)来建表和读写数据;输入 .help 可查看所有点命令,输入 .quit 退出。
  4. 编写使用程序:以 C/C++ 为例,调用 sqlite3_open() 打开数据库、sqlite3_exec() 执行 SQL、sqlite3_close() 关闭连接;TCL 用户则可使用 package require sqlite3 与 sqlite3 db 文件名 命令。
  5. 在线试用(可选):官方提供基于 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

  1. 若用于开发集成,下载 sqlite-dll-win-*.zip,解压得到 sqlite3.dll 与 sqlite3.def,将其放到应用程序目录或系统 DLL 搜索路径中。
  2. 若需要命令行工具,下载 sqlite-tools-win-*.zip,解压得到 sqlite3.exe、sqldiff.exe、sqlite3_analyzer.exe、sqlite3_rsync.exe。
  3. 将解压目录加入系统环境变量 PATH,即可在任意位置通过 sqlite3 命令调用。
  4. 可选用 Visual Studio 等工具从源码编译 DLL:cl sqlite3.c -link -dll -out:sqlite3.dll。

macOS

  1. 下载 sqlite-tools-osx-arm64-3540000.zip(Apple Silicon)或 sqlite-tools-osx-x64-3540000.zip(Intel)。
  2. 解压后将可执行文件移动到 /usr/local/bin 等已在 $PATH 中的目录。
  3. 由于官方二进制未签名,需执行 xattr -d com.apple.quarantine /usr/local/bin/sqlite3 等命令解除隔离。
  4. 也可通过 Homebrew 安装:brew install sqlite。

Linux

  1. 多数发行版已内置 SQLite,可直接使用 sqlite3 命令;如需最新版本,下载 sqlite-tools-linux-x64-3540000.zip 并解压。
  2. 使用包管理器安装:Debian/Ubuntu 执行 sudo apt install sqlite3,RHEL/CentOS 执行 sudo yum install sqlite。
  3. 从源码编译:下载 sqlite-autoconf-3540000.tar.gz,依次执行 ./configure && make && sudo make install。

iOS / Android / Web

  1. Android 项目可直接引入官方 AAR:sqlite-android-3540000.aar,或使用平台内置的 SQLite。
  2. iOS 系统自带 SQLite,直接调用系统库即可。
  3. Web 端可下载 sqlite-wasm-3540000.zip,在浏览器中加载 sqlite3.wasm 及其 JS API。

SQLite 如何卸载? #

由于 SQLite 通常以库文件或命令行工具的形式存在,卸载方式为删除相关文件或使用包管理器,不涉及注册表写入(Windows DLL 除外)。

Windows

  1. 若通过安装包或手动解压部署,直接删除 sqlite3.dll、sqlite3.def 及 tools 目录下的 sqlite3.exe 等文件。
  2. 若曾将目录加入 PATH,请从系统环境变量中移除对应路径。
  3. 若通过第三方安装器(如 Chocolatey)安装,可执行 choco uninstall sqlite 完成卸载。

macOS

  1. 删除 /usr/local/bin/sqlite3、sqldiff、sqlite3_analyzer、sqlite3_rsync 等可执行文件。
  2. 若通过 Homebrew 安装,执行 brew uninstall sqlite。
  3. 数据库文件(.db/.sqlite)为用户数据,卸载程序不会自动删除,如需清理请手动移除。

Linux

  1. 使用包管理器卸载:Debian/Ubuntu 执行 sudo apt remove sqlite3,RHEL/CentOS 执行 sudo yum remove sqlite。
  2. 若是源码编译安装,进入源码目录执行 sudo make uninstall,或手动删除 /usr/local/bin/sqlite3、/usr/local/lib/libsqlite3*、/usr/local/include/sqlite3*.h 等文件。
  3. 用户数据库文件(.db)与配置文件默认保留,可按需手动清理。

提示:SQLite 本身不会在系统中留下缓存或注册表残留,卸载过程通常非常干净;若同时被其他应用作为嵌入式库引用,删除系统级 DLL 可能影响这些程序,请谨慎操作。

相关标签
SQLite嵌入式数据库轻量级数据库引擎关系型数据库无服务器数据库跨平台数据库单文件数据库SQL 数据库移动端数据库公共领域开源软件