代码编程 分享

SQLite轻量级数据库,它能做什么?适合什么?

vipceshi
vipceshi 会员组
2026-10-06 00:05 181 阅读 5 评论

SQLite 是一个‌轻量级、嵌入式的关系型数据库‌,整个数据库就是一个文件,不用装服务器、不用配置,直接集成到程序里就能用。‌‌它是什么‌嵌入式‌:不像 MySQL 那样有...

SQLite 是一个‌轻量级、嵌入式的关系型数据库‌,整个数据库就是一个文件,不用装服务器、不用配置,直接集成到程序里就能用。‌‌


它是什么

‌嵌入式‌:不像 MySQL 那样有独立服务器进程,SQLite 是作为库直接跑在你的应用里,数据存在本地单个文件中。

‌零配置‌:不用安装、不用管理,下载就能用,特别适合手机 App、嵌入式设备和桌面软件。

‌事务可靠‌:支持 ACID 事务,就算系统崩溃或断电,数据也能保持一致。

‌跨平台‌:Windows、Linux、macOS、Android、iOS 都能跑,数据库文件还能在不同平台间直接复制共享。‌‌


拿来干什么

‌移动 App‌:安卓和鸿蒙系统都内置了 SQLite,存用户设置、离线缓存、消息记录这些再合适不过。

‌桌面软件‌:浏览器书签、邮件客户端、笔记工具,用它做本地存储很常见。

‌嵌入式设备‌:智能家居、物联网设备,资源有限,SQLite 几百 KB 就能跑。

‌网站‌:日请求量 10 万次以下的站点,SQLite 完全扛得住,很多小网站直接用。‌‌


注意几个坑

‌不适合高并发写‌:同一时刻只能有一个写事务,写密集的场景(比如电商下单)它会卡住。

‌没有用户权限管理‌:它靠文件系统权限控制访问,不像 MySQL 那样有完整的账号体系。

‌备份要看时机‌:WAL 模式下最新数据可能还在日志文件里,直接复制主文件可能拿到旧数据,最好用官方备份接口或工具。‌‌


实用建议

‌开启 WAL 模式‌:PRAGMA journal_mode=WAL,读写不再互斥,性能提升明显。

‌用参数化查询‌:别把用户输入拼进 SQL 字符串,防注入攻击。

‌设好 busy_timeout‌:拿不到锁时等待几秒,而不是直接报错。‌‌


评论 5 请文明发言,共建良好生态

验证码
xiaomi
xiaomi 2026-10-09 21:02
用AI开发的小工具就用这个数据库,如果用mysql确实不方便。
杨同学
杨同学 2026-10-06 02:40
Yang has been here, leaving something as a cascade.
游客
游客 2026-10-06 01:54
不是吧
vipceshi
vipceshi 2026-10-06 01:54
游客 : 确实需要学习下,SQLite在Ai时代很重要 vipceshi:哈哈哈。是的,我也认为是对的
游客
游客 2026-10-06 00:21
确实需要学习下,SQLite在Ai时代很重要