前言
上一篇简单介绍了 SQLite 的相关概念,这一节继续说一下 SQLite 中对数据库的一些常见操作。
SQLite 数据库的存储形式
SQLite 数据库的主要内容通常保存在一个普通文件中。SQLite 对数据库文件的扩展名没有强制要求,不过一般将这个文件命名为 *.db。执行事务或使用 WAL 模式时,还可能产生回滚日志或 WAL 文件等辅助文件。
当然,如果没有文件系统,SQLite 作为一个嵌入式数据库引擎,也可以通过适配层或虚拟文件系统等,将数据存放在本地 RAM、FLASH 等存储介质上。
总之,将数据库保存到本地文件系统中有几个好处:
- 不需要单独启动服务器
- 应用直接读写数据库文件
- 复制文件通常就能迁移数据库
- 适合本地应用、移动应用、小型服务
如果数据库正在使用,尤其是使用 WAL 模式时,不应该只复制主数据库文件。此时可以使用 SQLite 的备份 API 或 VACUUM INTO 生成一致的副本。
至于本地数据库文件内部的数据存储格式等,我认为不需要了解得那么深入。至少我用不到这一块的知识。
SQLite 创建/打开数据库
SQLite 的 sqlite3 CLI 工具可以用来创建新的 SQLite 数据库。
可以在终端中直接输入:
$ sqlite3 DatabaseName.db
或者在 CLI 工具中输入点命令:
sqlite> .open DatabaseName.db
无论使用哪种方式,如果 DatabaseName.db 存在,CLI 工具会打开它,否则会创建它。