这是一本关于sqlite 起源、特性、简介、使用、深度解析的书。
《sqlite权威指南(第二版)》首先从 sqlite 最初起源、特性、设计理念、实际应用讲解开始,逐步深入、全面地介绍了在各个平台如何使用sqlite。接着,介绍sqlite 的一般sql 和高级功能的sql,采取举例说明,使得本书内容生动有趣。然后,全面介绍了各种语言如何与sqlite 进行编程交互,重点介绍sqlite 原生语言c 语言中的api,使得使用者可以不管扩展sqlite 的功能。本书还介绍了目前火热的ios 和android 开发中如何使用sqlite,并给出实际例子。最后,介绍了sqlite 内部架构设计,使得读者可以深入理解sqlite,高级开发者可以进一步参与sqlite 开发或者开发自己的sqlite。
不管您是 sqlite 的初学者,还是sqlite 资深用户或者是对sql 语言和程序设计感兴趣的技术爱好者,都可以从本书汲取营养。
译者序 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
《卡塔尔经贸文化》内容简介:本书采取厚今薄古的写作方式,全方位介绍卡塔尔的国情、经贸、文化、中阿交流及其习俗礼仪等,突出科
《Oracle Exadata技术详解》内容简介:本书假定读者对关系型数据库,尤其是Oracle数据库有一定程度的了解,否则有可能对书中的某些
互联网时代:全球第一部全面、系统、深入、客观解析互联网的纪录片 本书特色 全球**次全面、系统、深入、客观解析互联网中央电视台热播纪录片《互联网时代》同名书免费...
数据库系统工程师教程 本书特色 《全国计算机技术与软件专业技术资格(水平)考试教学用书:数据库系统工程师教程》:全国计算机技术与软件专业技术资格(水平)考试作为...
《中国企业对外直接投资分析报告(2017)》内容简介:本报告分为总论篇、实务篇与关注篇三部分。总论篇在描述全球国际直接投资基础
《常春藤英语(精编版·七级)》内容简介:本书根据《常春藤英语·七级(一~四)》四本书进行修订,从中选取难度相对较低的文本,并
《做真正的我》内容简介:本书通过一些真实事例的验证,向大家阐述了其实每一个人都是“天生我才必有用”,不要妄自菲薄,轻看自己
Effective系列丛书经典著作,亚马逊五星级畅销书,Ecma的JavaScript标准化委员会著名专家撰写,JavaScript语言之父、MozillaCT...
《雅思真题高频词库(写作篇)》内容简介:本书根据雅思写作考试中的高频场景,精选核心词汇,搭配音标、释义和真题中的例句,帮考
《丝绸之路上的西州回鹘王朝》内容简介:公元840年,称雄蒙古高原近百年的回鹘汗国破灭。回鹘部众西迁至天山南北两麓,以吐鲁番盆地
C与.NET3.0高级程序设计(特别版) 本书特色 Amazon超级畅销书,C#圣经级著作,全面涵盖C#3.0和.NET 3.0平台,包括LINQ、WPF、WC...
《ASP.NET4从入门到精通》以ASP.NET应用程序开发为主题,全面介绍了ASP.NET4的所有功能和特性。书中采用深受读者欢迎的stepbyste
本书第1-10章介绍同步数字体系(SDH),内容包括:SDH的概念,信号结构、复用和映射,光接口和电接口,传输损伤(误码、抖动和漂
《现代编译器的Java实现》(第2版)可作为高等院校编译技术课程的教材、教师参考书以及编译技术研究人员的参考资料。目录 第一部分
网页程序设计HTML5.JavaScript CSS.XHTML.Ajax-第4版 本书特色 陈惠贞编*的《网页程序设计html5javascript css ...
高效商业分析-Excel建模与决策 本书特色 本书基于excel这一*常见的工具介绍商业分析在业务中的应用,帮助我们做出更优异的商业决策。书中不但提供了商业分析...
《现代货币理论在中国》内容简介:本书是一本主要由中国学者撰写的现代货币理论的入门书。书中从应对时代挑战角度解读现代货币理论
《万国衣冠拜冕旒:唐代卷》内容简介:《万国衣冠拜冕旒:唐代卷》全书通过对我大唐帝国时期大量文明遗产(包括各类工艺品、美术作
《游戏设计:深层设计思想与技巧》内容简介:本书是游戏设计行业的专业书籍,讲述游戏设计的方方面面,从基础的玩法和难度设计(包
《杀馋》内容简介:本书收录了周墙作为一个好吃佬创作的27篇生动风趣的美食散文,以食物为核心串联起数十年人生岁月,组成一部怀旧