0 总览 SQLite3 是SQLite 一个全新的版本,它虽然是在 SQLite 2
13 的代码基础之上开发的,但是使用了和之前的版本不兼容的数据库格式和 API
SQLite3 是为了满足以下的需求而开发的: 支持 UTF-16 编码
用户自定义的文本排序方法
可以对 BLOBs 字段建立索引
因此为了支持这些特性我改变了数据库的格式,建立了一个与之前版本不兼容的3
至于其他的兼容性的改变,例如全新的 API 等等,都将在理论介绍之后向你说明,这样可以使你最快的一次性摆脱兼容性问题
0 版的和 2
X 版的 API 非常相似,但是有一些重要的改变需要注意
所有 API 接口函数和数据结构的前缀都由"sqlite_"改为了"sqlite3_"
这是为了避免同时使用 SQLite 2
X 和 SQLite 3
0 这两个版本的时候发生链接冲突
由于对于 C 语言应该用什么数据类型来存放 UTF-16 编码的字符串并没有一致的规范
因此 SQLite 使用了普通的 v oid* 类型来指向 UTF-16 编码的字符串
客户端使用过程中可以把 v oid*映射成适合他们的系统的任何数据类型
0 C /C ++ 接口 SQLite 3
0 一共有 83 个 API 函数,此外还有一些数据结构和预定义 (#defines)
( 完整的 API 介绍请参看另一份文档
) 不过你们可以放心,这些接口使用起来不会像它的数量所暗示的那么复杂
最简单的程序仍然使用三个函数就可以完成: sqlite3_open(), sqlite3_ex ec(), 和 sqlite3_close()
要是想更好的控制数据库引擎的执行,可以使用提供的 sqlite3_prepare()函数把 SQL 语句编译成字节码,然后在使用 sqlite