SQLite权威指南
2012-1-15
电子工业出版社
Grant Allen,Mike Owens
404
杨谦,刘义宣,谢志强
无
谨以此书献给我的母亲, 感谢她对我无尽的支持! 译者序 您用过FireFox(火狐)浏览器吗?您用过金山词霸、iPhone、iPad或Android系统吗?如果答案是Yes,说明您已经是SQLite用户或者从SQLite中受益了。SQLite作为一款嵌入式关系数据库,应用十分广泛,已经被大量应用在许多基础的软件中,并成为这些基础软件的组成部分。例如,您手中的iPhone或Android手机,您电脑上的浏览器或者其他软件,您访问的用PHP编写的网站等。 虽然SQLite被越来越广泛地应用,但是一直缺乏一本全面、深入浅出地介绍SQLite的书,本书就是这样一本从零开始不断深入探究SQLite的书。 本书特色鲜明,它不仅为开发人员提供了全新的数据库选择,并且全面介绍了如何应用这种选择。全书第1、2章全面细致且重点突出地介绍了SQLite的起源和特点,并与主流大型关系数据库进行比较,这可作为数据库选型的重要参考。本书也是嵌入式关系数据库研究人员的知音,因为它介绍了嵌入式数据库中最典型的代表SQLite,并对SQLite内核做了简要介绍。最重要的是,本书是SQLite相关开发者的重要帮手。从第3章开始,全面介绍SQLite中的SQL、高级SQL、核心API和扩展API以及各种语言扩展、iPhone和Android开发中如何应用SQLite等。内容翔实,实例丰富,理论与实践并举。 译者在翻译本书时,一边是感到万分的荣幸,一边也是战战兢兢。吉尔伯特海特(美国教育家)曾经说过:写了一本很糟糕的书只是犯错而已,而把一本好书翻译得很糟糕则是犯罪。但是对于本书这样最佳的SQLite理论与实践之作,即便是冒着犯罪的风险,也值得翻译出来并推荐给大家。 本书承载的内容丰富而深入。在翻译的过程中,译者也常感汗颜,原来自诩对SQLite颇为了解的我深刻感受到自己知识面的浅薄和不完整,于是翻译过程也成为了自己检讨和学习的过程,收获颇丰。本书的作者是SQLite方面的知名研究者与实践者,其中一位是PySQLite的创建者。他们有着丰富的IT从业经验,书中的很多内容都是他们长年实践的经验和心得。因此,希望大家反复阅读,必定受益无穷。 由于本书作者的知识广博,经验丰富,而译者本人知识有限、时间仓促,难免对作品的个别之处无法原汁原味地呈现给读者,在此敬请各位读者多多包涵,不辞吝教,指出纰漏。我也希望能就本书的内容与读者有更多的交流。 最后,我要感谢电子工业出版社博文视点公司的张春雨编辑在译书的过程中给予我们的莫大帮助。我还要感谢我的朋友雷昕、李晓亮、杨艳、刘争涛、吴林、杨建轩、尹相乐、季旻、房华、张晓光和东莞经济贸易学校的谢志强老师等。特别感谢北京恩墨科技有限公司技术总监、ItpubOracle数据库管理版版主张乐奕,原Oracle亚洲研发中心高级DBA,现玛氏信息技术服务有限公司亚太区数据库运营经理叶熙昌,他们的参与使得本书的质量得到了进一步的保证。 杨谦 2011年8月于北京志新村
本书是一本关于SQLite起源、特性、简介、使用、深度解析的书。全书首先从SQLite最初起源、特性、设计理念、实际应用讲解开始,逐步深入、全面地介绍了在各个平台如何使用SQLite。接着,介绍SQLite的一般SQL和高级功能的SQL,采取举例说明,使得本书内容生动有趣。然后,全面介绍了各种语言如何与SQLite进行编程交互,重点介绍SQLite原生语言C语言中的API,使得使用者可以不管扩展SQLite的功能。本书还介绍了目前火热的IOS和Android开发中如何使用SQLite,并给出实际例子。最后,介绍了SQLite内部架构设计,使得读者可以深入理解SQLite,高级开发者可以进一步参与SQLite开发或者开发自己的SQLite。
作者:(美国)艾伦 (Grant Allen) (美国)欧文斯 (Mike Owens) 译者:杨谦 刘义宣 谢志强
译者序
推荐序1
推荐序2
推荐序3
关于作者
关于技术评审
致谢
简介
第1章 SQLite介绍
嵌入式数据库
开发者的数据库
管理员的数据库
SQLite历史
谁在使用SQLite
体系结构
接口
编译器
虚拟机
后端
工具和测试代码
SQLite的特性和设计理念
零配置
移植性
紧凑性
简单性
灵活性
自由授权
可靠性
易用性
性能和限制
本书面向的读者
本书的组织结构
附加说明
总结
第2章 入门
何处获取SQLite
Windows上的SQLite
获得命令行程序
获取SQLite动态链接库(DLL)
在Windows上编译SQLite源代码
使用微软Visual C++构建SQLite DLL
用Visual C++构建动态链接SQLite的客户端
用MinGW构建SQLite
Linux、苹果Mac OS X以及其他POSIX系统上的SQLite
二进制和包
从源代码编译
命令行程序
Shell模式下的CLP
命令行模式的CLP
数据库管理
创建数据库
获得数据库的Schema信息
导出数据
导入数据
格式化
导出带分隔符的数据
执行无人值守维护
备份数据库
获得数据库文件的信息
其他SQLite工具
总结
第3章 SQLite中的SQL
数据库示例
安装
运行示例
语法
命令
常量
关键字和标识符
注释
创建数据库
创建表
修改表
数据库查询
关系操作
select命令与操作管道
过滤
限定和排序
函数(Function)和聚合(Aggregate)
分组(Grouping)
去掉重复
多表连接
名称和别名
子查询
复合查询
条件结果
处理SQLite中的Null
总结
第4章 SQLite中的高级SQL
修改数据
插入记录
更新记录
删除记录
数据完整性
实体完整性
域完整性
存储类
视图
索引
触发器
事务
事务的范围
冲突解决
数据库锁
死锁
事务的类型
数据库管理
附加数据库
数据库清理
数据库配置
系统目录
查看查询计划
总结
第5章 SQLite设计与概念
API
主要数据结构
连接和语句
核心API
可操作的控制
使用线程
扩展API
创建用户自定义函数
创建用户自定义聚合
创建用户自定义排序
事务
事务生命周期
锁状态
读事务
写事务
调整页面缓存
过渡到独占状态
调整页面缓存
等待锁
繁忙处理
使用恰当的事务
代码
使用多个连接
finalize()函数的重要性
共享缓存模式
总结
第6章 核心C API
查询封装
连接与断开连接
执行查询
获取表查询
查询准备
编译
执行
完成与重置
获取记录
获取字段信息
获取字段值
一个实例
查询参数化
参数编号
参数命名
Tcl参数
错误与异常
错误处理
繁忙情况处理
模式改变处理
操作控制
提交钩子
回滚钩子
更新钩子
授权函数
线程
共享缓存模型
线程与内存管理
总结
第7章 扩展C API
API
注册函数
步骤函数
返回值
函数
返回值
数组与内存清理器
错误处理
返回输入值
聚合
注册函数
实例
排序规则
排序法定义
简单例子
按需排序
总结
第8章 语言扩展
选择一种扩展语言
Perl
安装
连接
查询处理
参数绑定
用户自定义函数
聚合
Python
安装
连接
查询处理
参数绑定
用户自定义函数
聚合
APSW(另一种Python接口)
Ruby
安装
连接
查询处理
参数绑定
用户自定义函数
Java
安装
连接
查询处理
自定义函数和聚合
JDBC
Tcl
安装
连接
查询处理
用户自定义函数
PHP
安装
连接
查询
用户自定义函数和聚合
总结
第9章 iOS开发中的SQLite
SQLite iOS开发的先决条件
注册成为Apple软件开发者
下载并安装Xcode和iOS SDK
其他开发环境
建立iSeinfeld iOS SQLite应用
第一步:创建一个新的Xcode工程
第二步:将SQLite框架添加到工程
第三步:准备Foods数据库
第四步:为食品数据创建类
第五步:访问和查询SQLite数据库
第六步:最后包装和配置iSeinfeld应用程序
运行iSeinfeld
iOS中处理大型SQLite数据库
总结
第10章 Android开发中的SQLite
SQLite Android开发的先决条件
检查先决条件和JDK
下载和安装Android SDK Starter包
下载和安装Android开发工具
添加Android平台和组件
Android SQLite类和接口
使用基础帮助类:SQLiteOpenHelper
SQLiteDatabase类
在实际中应用SQLiteOpenHelper和SQLiteDatabase
使用SQLiteQueryBuilder类查询SQLite数据库
搭建Seinfeld Android SQLite应用程序
创建新的Android工程
将Seinfeld SQLite数据库添加到工程
查询Food数据库表
定义用户接口
连接数据和用户接口
查看完成的Seinfeld应用程序
SQLite Android应用程序的注意事项
Android数据库的备份
Android系统处理大型SQLite数据库
总结
第11章 SQLite内部机制及新特性
B-tree和Pager模块
数据库文件格式
B-tree API
显示类型、存储类以及亲缘性介绍
显示类型
类型亲缘性
亲缘性和存储
执行中的亲缘性
预写日志
WAL工作原理
激活和配置WAL
WAL的优缺点
启用WAL时SQLite数据库的操作问题
总结
索引
版权页:插图:
《SQLite权威指南(第2版)》:读者朋友们:企业级计算之外,有一款数据库,它具备大量软硬件需要的关系数据库功能,同时没有传统数据库管理系统的复杂配置、维护,以及高昂的成本。它就是SQLite据库——一款极其紧凑的可嵌入的数据库,一款能处理巨大数据量的数据库。通过编程和开发,SQLite可以具备大量强大的特性。它也支持C、Java、Ped、PHP、Pvthon、Ruby、Td等语言。《SQLite权威指南(第二版)》包含了SQLite数据库最新版本的全部内容,全面介绍SQLite的功能和API,同时,以SQLite为基础,帮助新人开启数据库开发的第一次旅程。短时间内,您就能开发应用程序,诸如服务器端浏览器插件或者很有流行潜力的iPhone或Android应用!您将会了解到SQLltc的C、Java、Pd、PHP、Python、Ruby以及Tcl展。您将会掌握SQLite內核。您将会学习使用SQLitc开发iOS(iPhone)和Android应用。全世界范围内,从移动电话和GPS设备到机顶盒与Web浏览器,数以干计的产品选择了SQLite数据库。您可能每天都在不知不觉中使用SQLite。——艾伦,Grant Allen和Mike Owens
无
从SQLite最初起源、特性、设计理念、实际应用讲解开始,逐步深入、全面地介绍了在各个平台如何使用SQLite。提供了几种语言使用这个数据库的例子。
这是我见到的第一本中文专门分析SQLite数据库的书籍,
不仅讲解了SQLite数据库开发相关的内容,还涉及到各个平台开发的一些技术技巧,
另外,无论初学者或者已有工作经验的朋友来说,
本书中对SQL语言的分析,也值得学习、借鉴或者参考!
很不错的一本书!SQLite方面书籍不多,这本书教会我们如何使用SQLite数据库开发程序。
没做过数据库的人,认真看看也能上手通过这本书,sqlite数据库对于嵌入式环境还是很不错,最起码它不挑系统。
介绍sqlite不多,能找到的比较好的就这本了,建议结合sqlite官网文档跟这本书一起学习,事半功倍。
good,目前发现的第一本讲解 sqlite 的书。
SQLite权威书籍, 必读书
SQLite非常全面的教材,文档里有的这里都能找到
通过此书的思维角度,对数据库内核研究提升到了模型抽象的角度。此书作为一本详尽的指路者,指导了我对开源数据各种特性的深层次的认识。
小巧的嵌入式数据库,学习ing
有基础和语言的API很好
权威指南不多说。
图书馆里一共只有2本,老是借不到,于是自己买本看看,估计手机还有小型设备上的编程都有用到的可能。
很好的书,适合初学者,内容全面
好书,讲的很全面系统。
好书,值得推荐。目前学习中
书的质量不错,内容写的也非常好!
还没时间看,好像还不错
非常好!非常不错的一本书!
讲的很系统,排版不错
书不错,发货也很快,认真研究!
送货特快,书也特好!!!
我把它当资料书查
两天150页,书不错,推荐!
尚未看,但是我能找到关于sqilite的书就这本了
有用的书。但书还涨价?!
书很不错,市面上少有的好教材
很给力,过来看看
很不错,里面讲的非常详细!买对了!
整体还算不错,还算是易懂
好好看看,挺好
当备忘了,放着慢慢看
值得好好研究,翻译的不错
不管你有木有学过javascript,不管你水平怎么样,都值得一看。
就这一本,不得不买啊
对于SQLite这种小型嵌入式数据库,市面上的相关资料一直比较少,这本书弥补了这方面的空白,有相关的例子方便理解
出于编写的需要,作者用一个数据库的例子来讲sqlite,但还是希望例子可以多一些。
经典好书,对sqlite描述很详细。值得一读
学习android需要,收藏了!
对C API的介绍很多都不够详细 也没有查询的附录 需配合网上的资料
作为SQL入门还可以
适合初学者使用的书
内容比较全,语言流畅,层次分明。很好读
内容很全面,质量也不错,就是价格太贵。
本书内容还是不错的,但是出版社不是很给力
整体感觉很好,不错!一如既往的支持当当!
还没发现书中的亮点
网上的资料很多但比较零散,这方面的书籍很少,没什么选择的余地。
书还不错吧,中文书看的舒服点,就是配货慢的要死
挺快,10点下的单,16点就收到了
呵呵,不错,送的超快!超出了我的想象,周日晚上定的,周一下午就送到了!还在看,不错!
内容全面,应为正版书吧。
送货很快,书的纸质一般,与价格不匹配。
讲的太浅显!废话一大堆:该讲的浅尝辄止!
收到后感觉不错,但是看了一段时间后,觉得是盗版啊关键处有常用术语错误,更有甚者,连接部分标题错误且排版不够清晰,仅以字体区分,无标号清晰
是一本不错的sqlite入门的书籍
内容比较丰富,其中还有对于iOS/Android开发相关的配置和使用。应该说是本很不错的SQLite参考书,呵呵~
具体、实用、可操作性强
不想看e文,当字典查查,还是挺好的
这本书的缺点:翻译的太烂、不够深入。做为一本了解一下sqlite及入门的书还行。如果需要深入的展开编程,就有点不行了。比如在数据库的系统性编程方面,知识点太匮乏了。
还行吧。比想象中的薄很多。
还行 是全新的 内容不错 对于初学者有一定的帮助
找了很久的SQLite书籍,终于实现,内容很好,值得推荐
内容充实,对与SQLite的初学者甚至是程序员都会有帮助,特别是移植到ios和Android,值得一看。到货速度快,很满意!
这本书很好,找到了自己需要的知识!
正版 IT技术类书
还不错,朋友喜欢
书还行,价格有点贵
比较言简意赅的一本书
不错不错!!!!!!!!!!!!