SQLite文件格式前文我们简要的介绍了一下SQLite的软件架构以及每个组件的基本功能 。接下来我们介绍一下数据库文件的相关功能 。
在SQLite中一个文件承载着一个数据库实例 , 这个文件称为主库文件(main database file) 。除了主库文件外 , 还可能有一些其它文件 , 比如用于事务的日志文件等 。本文主要集中介绍主库文件 , 其它文件后续介绍 。
页
数据库文件由多个页构成 , 每个页的大小在512到65536字节之间 , 且大小必须是2的幂 。页通过编号进行标记 , 起始值为1 , 最大编号为2的31次幂-2 。页的默认大小是4KB , 本文以默认大小为例进行介绍 。

文章插图
在数据库中的每个页都有一个特定的用途 , 这些用途包括:
- 锁字节页(Lock-byte page)
- 剩余 页
- B树 页
- 指针映射页
- 有效负载溢出页
数据库头
数据库头包含100个字节的内容 , 其中每一个成员的偏移 , 大小和功能如下图所示 。

文章插图
我们可以创建一个数据库实例 , 然后对照文件内容与数据库头的格式进行理解 。比如数据库头的第一个成员为一个魔数 , 用于标识该文件为SQLite数据库文件及版本 。在下图中可以找到该信息 , 可以看出两者完全匹配(SQLite format 3) 。

文章插图
除了上述数据库头的格式外 , 每个不同的页都有不同的布局 。限于篇幅 , 本文暂时不过多介绍 , 后面结合实例专门写一篇文章介绍各种不同的页的布局 。
参考内容[1] https://www.cnblogs.com/YSPXIZHEN/p/5792459.html
[2] https://sqlite.org/index.html
[3] https://www.runoob.com/sqlite/sqlite-c-cpp.html
[4] https://sqlite.org/fileformat.html
推荐阅读
- 粉色|人到中年更要懂得爱自己!在这4个地方多下点功夫,老了也有魅力
- 夜晚能够“制氧”的5种花,卧室小更要养一盆
- 你适合披头发还是扎头发,主要取决于这3个特点,脸大更要注意
- 西湖龙井开茶节启幕 今夏更要拍西湖龙井茶
- 陈郁榕,茶企要做强做大更要做久做稳
- 详细讲解象棋走法口诀,知其然知其所以然,看一遍就能记住
- 会喝茶 更要会泡茶
- 天猫旗舰店主体变更流程 天猫店主体变更要求是什么
- 年轻人更要注重夏季养生 来看常犯的5大禁忌
- 都是脂肪肝,为什么有的没事,有的成了癌?只有胖人会得?瘦子更要当心
