译者序 iv
         推荐序1 vi
         推荐序2 viii
         推荐序3 ix
         关于作者 xx
         关于技术评审 xxi
         致谢 xxii
         简介 xxiii
         第1章 sqlite介绍 1
         嵌入式数据库 1
         开发者的数据库 2
         管理员的数据库 4
         sqlite历史 4
         谁在使用sqlite 5
         体系结构 6
         接口 6
         编译器 7
         虚拟机 7
         后端 9
         .工具和测试代码 9
         sqlite的特性和设计理念 10
         零配置 10
         移植性 10
         紧凑性 11
         简单性 11
         灵活性 12
         自由授权 12
         可靠性 12
         易用性 12
         性能和限制 13
         本书面向的读者 16
         本书的组织结构 17
         附加说明 18
         总结 19
         第2章 入门 21
         何处获取sqlite 21
         windows上的sqlite 22
         获得命令行程序 22
         获取sqlite动态链接库(dll) 25
         在windows上编译sqlite源代码 26
         使用微软visual c++构建sqlite dll 29
         用visual c++构建动态链接sqlite的客户端 31
         用mingw构建sqlite 32
         linux、苹果mac os x以及其他posix系统上的sqlite 34
         二进制和包 34
         从源代码编译 35
         命令行程序 37
         shell模式下的clp 37
         命令行模式的clp 39
         数据库管理 40
         创建数据库 40
         获得数据库的schema信息 42
         导出数据 43
         导入数据 44
         格式化 45
         导出带分隔符的数据 46
         执行无人值守维护 46
         备份数据库 47
         获得数据库文件的信息 48
         其他sqlite工具 50
         总结 51
         第3章 sqlite中的sql 53
         数据库示例 53
         安装 55
         运行示例 55
         语法 56
         命令 58
         常量 58
         关键字和标识符 59
         注释 59
         创建数据库 59
         创建表 60
         修改表 61
         数据库查询 62
         关系操作 62
         select命令与操作管道 63
         过滤 66
         限定和排序 71
         函数(function)和聚合(aggregate) 73
         分组(grouping) 74
         去掉重复 79
         多表连接 80
         名称和别名 85
         子查询 87
         复合查询 89
         条件结果 91
         处理sqlite中的null 93
         总结 95
         第4章 sqlite中的高级sql 97
         修改数据 97
         插入记录 97
         更新记录 101
         删除记录 102
         数据完整性 102
         实体完整性 103
         域完整性 108
         存储类 113
         视图 116
         索引 118
         触发器 120
         事务 124
         事务的范围 124
         冲突解决 125
         数据库锁 128
         死锁 129
         事务的类型 130
         数据库管理 131
         附加数据库 131
         数据库清理 133
         数据库配置 133
         系统目录 137
         查看查询计划 137
         总结 138
         第5章 sqlite设计与概念 139
         api 140
         主要数据结构 140
         连接和语句 141
         核心api 142
         可操作的控制 150
         使用线程 151
         扩展api 151
         创建用户自定义函数 151
         创建用户自定义聚合 152
         创建用户自定义排序 153
         事务 153
         事务生命周期 154
         锁状态 154
         读事务 156
         写事务 157
         调整页面缓存 160
         过渡到独占状态 161
         调整页面缓存 161
         等待锁 162
         繁忙处理 162
         使用恰当的事务 164
         代码 165
         使用多个连接 165
         finalize()函数的重要性 167
         共享缓存模式 168
         总结 168
         第6章 核心c api 171
         查询封装 171
         连接与断开连接 172
         执行查询 174
         获取表查询 178
         查询准备 179
         编译 180
         执行 181
         完成与重置 182
         获取记录 184
         获取字段信息 184
         获取字段值 186
         一个实例 187
         查询参数化 189
         参数编号 192
         参数命名 192
         tcl参数 193
         错误与异常 194
         错误处理 194
         繁忙情况处理 196
         模式改变处理 197
         操作控制 198
         提交钩子 198
         回滚钩子 199
         更新钩子 199
         授权函数 200
         线程 210
         共享缓存模型 210
         线程与内存管理 213
         总结 214
         第7章 扩展c api 215
         api 216
         注册函数 217
         步骤函数 218
         返回值 219
         函数 220
         返回值 222
         数组与内存清理器 223
         错误处理 224
         返回输入值 224
         聚合 225
         注册函数 226
         实例 226
         排序规则 230
         排序法定义 231
         简单例子 234
         按需排序 237
         总结 238
         第8章 语言扩展 239
         选择一种扩展语言 240
         perl 242
         安装 242
         连接 243
         查询处理 243
         参数绑定 245
         用户自定义函数 246
         聚合 247
         python 248
         安装 248
         连接 249
         查询处理 249
         参数绑定 251
         用户自定义函数 253
         聚合 253
         apsw(另一种python接口) 254
         ruby 255
         安装 255
         连接 256
         查询处理 256
         参数绑定 257
         用户自定义函数 259
         java 260
         安装 260
         连接 261
         查询处理 262
         自定义函数和聚合 264
         jdbc 266
         tcl 268
         安装 268
         连接 268
         查询处理 269
         用户自定义函数 272
         php 272
         安装 273
         连接 273
         查询 274
         用户自定义函数和聚合 276
         总结 278
         第9章 ios开发中的sqlite 279
         sqlite ios开发的先决条件 279
         注册成为apple软件开发者 280
         下载并安装xcode和ios sdk 280
         其他开发环境 283
         建立iseinfeld ios sqlite应用 284
         第一步:创建一个新的xcode工程 285
         第二步:将sqlite框架添加到工程 285
         第三步:准备foods数据库 287
         第四步:为食品数据创建类 289
         第五步:访问和查询sqlite数据库 293
         第六步:最后包装和配置iseinfeld应用程序 297
         运行iseinfeld 297
         ios中处理大型sqlite数据库 299
         总结 300
         第10章 android开发中的sqlite 301
         sqlite android开发的先决条件 301
         检查先决条件和jdk 302
         下载和安装android sdk starter包 302
         下载和安装android开发工具 303
         添加android平台和组件 304
         android sqlite类和接口 306
         使用基础帮助类:sqliteopenhelper 307
         sqlitedatabase类 308
         在实际中应用sqliteopenhelper和sqlitedatabase 312
         使用sqlitequerybuilder类查询sqlite数据库 315
         搭建seinfeld android sqlite应用程序 317
         创建新的android工程 318
         将seinfeld sqlite数据库添加到工程 319
         查询food数据库表 319
         定义用户接口 320
         连接数据和用户接口 321
         查看完成的seinfeld应用程序 322
         sqlite android应用程序的注意事项 322
         android数据库的备份 323
         android系统处理大型sqlite数据库 324
         总结 324
         第11章 sqlite内部机制及新特性 325
         b-tree和pager模块 325
         数据库文件格式 325
         b-tree api 330
         显示类型、存储类以及亲缘性介绍 332
         显示类型 333
         类型亲缘性 335
         亲缘性和存储 336
         执行中的亲缘性 336
         预写日志 340
         wal工作原理 341
         激活和配置wal 342
         wal的优缺点 343
         启用wal时sqlite数据库的操作问题 343
         总结 345
         索引 347
      · · · · · ·     (
收起)