Linux多数发行版已预装sqlite3,运行sqlite3--version有输出即就绪;未安装时可用sudo apt install sqlite3一键安装,或源码编译;libsqlite3-dev仅开发时需安装,命令行操作无需它。

Linux 上绝大多数发行版已预装 sqlite3,直接运行命令就能用;没装的话,一行 apt install 或源码编译也足够快,不需要配置服务、不占资源、不冲突。
检查是否已安装 sqlite3
终端里敲:
sqlite3 --version
如果输出类似 3.36.0 这样的版本号,说明已就绪。常见错误现象是提示 command not found ——这不是 SQLite 没装,而是命令行工具缺失(sqlite3 可执行文件没在 $PATH 里)。
注意:libsqlite3-dev 是开发库,只在你用 C/Python 编译链接 SQLite 时才需要,单纯命令行操作数据库完全不用装它。
Debian/Ubuntu 系统一键安装
联网状态下最简单:
sudo apt update && sudo apt install sqlite3
这条命令只装命令行工具,不含 GUI 管理器。如果你后续要用 Python 调用 SQLite,再补一句:
sudo apt install libsqlite3-dev
但注意:很多 Python 环境(比如系统自带的 python3)已内置 sqlite3 模块,无需额外安装开发包也能 import sqlite3。
手动编译安装(定制版本或离线环境)
适用于需要特定版本、或无法联网的嵌入式/生产环境。步骤清晰但容易踩坑:
- 下载源码包(例如
sqlite-autoconf-3080704.tar.gz),别下错成.zip或文档包 - 解压后进目录,运行
./configure --prefix=/usr/local—— 不加--prefix默认装到/usr/local,但有些系统权限受限,可改用--prefix=$HOME/local -
make && sudo make install后,检查/usr/local/bin/sqlite3是否存在;若仍提示找不到命令,需手动把/usr/local/bin加进$PATH - 编译过程不报错 ≠ 安装成功:务必验证
sqlite3 --version和sqlite3 :memory: "select 1;"能否正常返回结果
sqlite3 命令行使用中最容易忽略的点
刚打开 sqlite3 demo.db 时,你其实还没真正“进入数据库”——只是连接到了一个文件。真正影响行为的是元命令(以 . 开头)和 SQL 语句的混用规则:
- SQL 语句必须以分号
;结尾,否则会一直等待输入;而.tables、.schema这类元命令**不能加**分号 -
.mode csv和.output file.csv配合才能导出,单独设.mode不生效 - 插入含单引号的字符串(如
O'Connor)要写成O''Connor,不是转义符\'—— SQLite 不认反斜杠转义 - 事务默认自动提交,想手动控制得先执行
BEGIN TRANSACTION;,否则每条INSERT都是独立事务,崩溃时可能只写入一半
SQLite 的“轻量”不等于“随意”,特别是多进程同时读写同一个 .db 文件时,锁机制和 WAL 模式的选择会直接影响可靠性,这点常被跳过测试直接上线。


















