好书推荐 好书速递 排行榜 读书文摘

SQLite权威指南

SQLite权威指南
作者:Grant Allen / Mike Owens
译者:杨谦 / 刘义宣 / 谢志强
出版社:电子工业出版社
出版年:2012-01
ISBN:9787121149245
行业:其它
浏览数:5

内容简介

这是一本关于sqlite 起源、特性、简介、使用、深度解析的书。

《sqlite权威指南(第二版)》首先从 sqlite 最初起源、特性、设计理念、实际应用讲解开始,逐步深入、全面地介绍了在各个平台如何使用sqlite。接着,介绍sqlite 的一般sql 和高级功能的sql,采取举例说明,使得本书内容生动有趣。然后,全面介绍了各种语言如何与sqlite 进行编程交互,重点介绍sqlite 原生语言c 语言中的api,使得使用者可以不管扩展sqlite 的功能。本书还介绍了目前火热的ios 和android 开发中如何使用sqlite,并给出实际例子。最后,介绍了sqlite 内部架构设计,使得读者可以深入理解sqlite,高级开发者可以进一步参与sqlite 开发或者开发自己的sqlite。

不管您是 sqlite 的初学者,还是sqlite 资深用户或者是对sql 语言和程序设计感兴趣的技术爱好者,都可以从本书汲取营养。

......(更多)

作者简介

GrantcAllen具备20多年的IT工作经验,1做过软件开发公司的首席技术官(CTO)和Google的数据架构师.a他的工作横跨多个行业,1有政府部门和学术部门,1大型系统设计、开发、性能、创新以及破坏性改变的咨询.aGrant也是学术会议和行业会议的常客,1他经常做一些关于数据挖掘、协作技术、关系数据库以及技术业务的报告.aGrant在高新技术公司领导破坏性创新理论项目的业余时间取得了他的博士学位

MikecOwens是德克萨斯州沃斯堡一家大型房地产公司的IT主管,2他负责开发和管理公司的核心系统.a之前他在橡树岭国家实验室(该实验室是美国能源部所属的一个大型国家实验室)担任流程设计工程师,2在Nova信息系统公司当过C++程序员.a他是PySQLite的最初创建者,2PySQLite是SQLite的Python扩展.aMike毕业于田纳西大学诺克斯维尔分校,2获得化学工程学士学位

Mike喜欢慢跑、弹吉他、滑雪,3以及与同伴们一起在德克萨斯州狭长的地带上打猎.a他与妻子、两个女儿以及两只小猎狗在德克萨斯州沃斯堡生活.a

......(更多)

目录

译者序 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

......(更多)

读书文摘

select * from foods inner join food_types on foods.id = food_types.id

id,value 1,eenie 2,meenie 3,miny

......(更多)

猜你喜欢

点击查看