SQLite 本地使用指南
SQLite 是文件型嵌入式数据库,无需独立服务,Rails/Django/Flask 本地开发常用 db.sqlite3。
SQLite 将数据库存储为单个文件(如 db.sqlite3),无需像 MySQL 那样启动守护进程。访问路径是文件路径而非 localhost:端口(除非通过 SQL 代理服务)。
典型本地场景
| 框架 | 文件位置 |
|---|---|
| Rails | db/development.sqlite3 |
| Django | db.sqlite3(项目根) |
| Laravel | database/database.sqlite |
| Node (better-sqlite3) | 自定义 .db 路径 |
连接字符串示例:sqlite:///./db.sqlite3 或 file:./app.db
命令行
sqlite3 db.sqlite3
.tables
.schema users
SELECT * FROM users LIMIT 5;
.quit图形化管理
- DB Browser for SQLite(跨平台桌面)
- TablePlus、DBeaver
- phpLiteAdmin(Web,见本站
phpliteadmin文章)
与 MySQL/PostgreSQL 对比
| 项 | SQLite | PostgreSQL |
|---|---|---|
| 部署 | 单文件 | 服务 :5432 |
| 并发写 | 较弱 | 强 |
| 适用 | 本地开发、嵌入式、移动 | 生产 Web |
Python 示例
import sqlite3
conn = sqlite3.connect('app.db')
conn.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)')
conn.commit()
conn.close()常见问题
database is locked
多进程同时写;开发时避免多个 server 实例写同一文件。
与 phpLiteAdmin
Web 管理 SQLite 文件见 phpliteadmin 文章,需 Apache+PHP。
小结
SQLite 无 localhost:端口,通过数据库文件访问,是本地原型与单用户开发最省事的存储方案。