微信扫一扫,移动浏览光盘

简介

通过阅读由Ryan Stephens等编著的《SQL入门经典(第5版)》,读者将学会如何使用SQL来创建高效的数据库、高效地提取数据,以及如何管理从数据库性能到数据库安全的各项工作。《SQL入门经典(第5版)》采用直观、循序渐进的方法,引导读者通过各种练习掌握实际操作技巧。读者将学习从基础知识到高级技术在内的所有SQL相关内容——包括视图、事务、Web数据发布,以及Oracle和Microsoft SQL Server对SQL的扩展。《SQL入门经典(第5版)》每章内容都建立在已学的知识之上,即使读者没有任何SQL知识,也可以通过《SQL入门经典(第5版)》,走向成功的坚实道路。

目录

《sql入门经典(第5版)》

第一部分 sql概念综述

第1章 欢迎来到sql世界 3

1.1 sql定义及历史 3

1.1.1 什么是sql 4

1.1.2 什么是ansi sql 4

1.1.3 新标准:sql-2008 4

1.1.4 什么是数据库 5

1.1.5 关系型数据库 5

1.1.6 客户端/服务器技术 6

1.1.7 基于web的数据库系统 7

1.1.8 主流数据库厂商 7

1.2 sql会话 7

1.2.1 connect 8

1.2.2 disconnect和exit 8

1.3 sql命令的类型 8

1.3.1 定义数据库结构 8

1.3.2 操作数据 9

1.3.3 选择数据 9

1.3.4 数据控制语言 9

.1.3.5 数据管理命令 10

1.3.6 事务控制命令 10

1.4 本书使用的数据库 10

1.4.1 表命名标准 11

1.4.2 数据一瞥 11

1.4.3 表的构成 13

1.4.4 范例和练习 14

1.5 小结 14

1.6 问与答 14

1.7 实践 15

1.7.1 测验 15

1.7.2 练习 15

第二部分 建立数据库

第2章 定义数据结构 19

2.1 数据是什么 19

2.2 基本数据类型 19

2.2.1 定长字符串 20

2.2.2 变长字符串 21

2.2.3 大对象类型 21

2.2.4 数值类型 21

2.2.5 小数类型 22

2.2.6 整数 22

2.2.7 浮点数 23

2.2.8 日期和时间类型 23

2.2.9 直义字符串 23

2.2.10 null数据类型 24

2.2.11 布尔值 24

2.2.12 自定义类型 25

2.2.13 域 25

2.3 小结 25

2.4 问与答 26

2.5 实践 26

2.5.1 测验 26

2.5.2 练习 27

第3章 管理数据库对象 29

3.1 什么是数据库对象 29

3.2 什么是规划 29

3.3 表:数据的主要存储方式 31

3.3.1 列 31

3.3.2 行 31

3.3.3 create table语句 32

3.3.4 命名规范 33

3.3.5 alter table命令 34

3.3.6 从现有表新建另一个表 36

3.3.7 删除表 37

3.4 完整性约束 37

3.4.1 主键约束 38

3.4.2 唯一性约束 38

3.4.3 外键约束 39

3.4.4 not null约束 40

3.4.5 检查约束 40

3.4.6 去除约束 41

3.5 小结 41

3.6 问与答 41

3.7 实践 42

3.7.1 测验 42

3.7.2 练习 42

第4章 规格化过程 45

4.1 规格化数据库 45

4.1.1 原始数据库 45

4.1.2 数据库逻辑设计 46

4.1.3 规格形式 47

4.1.4 命名规范 49

4.1.5 规格化的优点 50

4.1.6 规格化的缺点 50

4.2 去规格化数据库 50

4.3 小结 51

4.4 问与答 51

4.5 实践 51

4.5.1 测验 52

4.5.2 练习 52

第5章 操作数据 53

5.1 数据操作概述 53

5.2 用新数据填充表 53

5.2.1 把数据插入到表 54

5.2.2 给表里指定列插入数据 55

5.2.3 从另一个表插入数据 56

5.2.4 插入null值 57

5.3 更新现有数据 58

5.3.1 更新一列的数据 58

5.3.2 更新一条或多记录里的多个字段 59

5.4 从表里删除数据 59

5.5 小结 60

5.6 问与答 60

5.7 实践 61

5.7.1 测验 61

5.7.2 练习 62

第6章 管理数据库事务 63

6.1 什么是事务 63

6.2 控制事务 63

6.2.1 commit命令 64

6.2.2 rollback命令 66

6.2.3 savepoint命令 67

6.2.4 rollback to savepoint命令 67

6.2.5 release savepoint命令 68

6.2.6 set transaction命令 68

6.3 事务控制与数据库性能 69

6.4 小结 69

6.5 问与答 69

6.6 实践 70

6.6.1 测验 70

6.6.2 练习 70

第三部分 从查询中获得有效的结果

第7章 数据库查询 73

7.1 什么是查询 73

7.2 select语句 73

7.2.1 select语句 74

7.2.2 from子句 75

7.2.3 where子句 76

7.2.4 order by子句 77

7.2.5 大小写敏感性 79

7.3 简单查询的范例 79

7.3.1 统计表里的记录数量 81

7.3.2 从另一个用户表里选择数据 81

7.3.3 使用字段别名 82

7.4 小结 82

7.5 问与答 83

7.6 实践 83

7.6.1 测验 83

7.6.2 练习 84

第8章 使用操作符对数据进行分类 85

8.1 什么是sql里的操作符 85

8.2 比较操作符 85

8.2.1 相等 86

8.2.2 不等于 86

8.2.3 小于和大于 87

8.2.4 比较操作符的组合 88

8.3 逻辑操作符 88

8.3.1 is null 89

8.3.2 between 89

8.3.3 in 90

8.3.4 like 90

8.3.5 exists 91

8.3.6 all、some和any操作符 92

8.4 连接操作符 93

8.4.1 and 93

8.4.2 or 94

8.5 求反操作符 95

8.5.1 不相等 96

8.5.2 not between 96

8.5.3 not in 97

8.5.4 not like 97

8.5.5 is not null 98

8.5.6 not exists 98

8.6 算术操作符 98

8.6.1 加法 99

8.6.2 减法 99

8.6.3 乘法 99

8.6.4 除法 100

8.6.5 算术操作符的组合 100

8.7 小结 101

8.8 问与答 101

8.9 实践 101

8.9.1 测验 102

8.9.2 练习 102

第9章 汇总查询得到的数据 104

9.1 什么是汇总函数 104

9.1.1 count函数 105

9.1.2 sum函数 107

9.1.3 avg函数 108

9.1.4 max函数 108

9.1.5 min函数 109

9.2 小结 110

9.3 问与答 110

9.4 实践 111

9.4.1 测验 111

9.4.2 练习 111

第10章 数据排序与分组 113

10.1 为什么要对数据进行分组 113

10.2 group by子句 114

10.2.1 分组函数 114

10.2.2 对选中的数据进行分组 114

10.2.3 创建分组和使用汇总函数 115

10.2.4 以整数代表字段名称 117

10.3 group by与order by 117

10.4 cube和rollup语句 119

10.5 having子句 121

10.6 小结 122

10.7 问与答 122

10.8 实践 123

10.8.1 测验 123

10.8.2 练习 123

第11章 调整数据的外观 125

11.1 ansi字符函数 125

11.2 常用字符函数 126

11.2.1 串接函数 126

11.2.2 translate函数 127

11.2.3 replace 128

11.2.4 upper 128

11.2.5 lower 129

11.2.6 substr 129

11.2.7 instr 130

11.2.8 ltrim 131

11.2.9 rtrim 131

11.2.10 decode 132

11.3 其他字符函数 132

11.3.1 length 132

11.3.2 ifnull(检查null值) 133

11.3.3 coalesce 133

11.3.4 lpad 134

11.3.5 rpad 134

11.3.6 ascii 135

11.4 算术函数 135

11.5 转换函数 136

11.5.1 字符串转换为数字 136

11.5.2 数字转换为字符串 137

11.6 字符函数的组合使用 137

11.7 小结 138

11.8 问与答 138

11.9 实践 139

11.9.1 测验 139

11.9.2 练习 139

第12章 日期和时间 141

12.1 日期是如何存储的 141

12.1.1 日期和时间的标准数据类型 141

12.1.2 datetime元素 142

12.1.3 不同实现的日期类型 142

12.2 日期函数 143

12.2.1 当前日期 143

12.2.2 时区 144

12.2.3 时间与日期相加 144

12.2.4 其他日期函数 146

12.3 日期转换 146

12.3.1 日期描述 147

12.3.2 日期转换为字符串 149

12.3.3 字符串转换为日期 149

12.4 小结 150

12.5 问与答 150

12.6 实践 150

12.6.1 测验 151

12.6.2 练习 151

第四部分 建立复杂的数据库查询

第13章 在查询里结合表 155

13.1 从多个表获取数据 155

13.2 结合的类型 156

13.2.1 结合条件的位置 156

13.2.2 等值结合 156

13.2.3 使用表的别名 157

13.2.4 不等值结合 158

13.2.5 外部结合 159

13.2.6 自结合 161

13.2.7 结合多个主键 162

13.3 需要考虑的事项 163

13.3.1 使用基表 163

13.3.2 笛卡尔积 164

13.4 小结 166

13.5 问与答 166

13.6 实践 167

13.6.1 测验 167

13.6.2 练习 167

第14章 使用子查询定义未确定数据 169

14.1 什么是子查询 169

14.1.1 子查询与select语句 170

14.1.2 子查询与insert语句 171

14.1.3 子查询与update语句 172

14.1.4 子查询与delete语句 173

14.2 嵌套的子查询 173

14.3 关联子查询 175

14.4 子查询的效率 176

14.5 小结 176

14.6 问与答 176

14.7 实践 177

14.7.1 测验 177

14.7.2 练习 178

第15章 组合多个查询 179

15.1 单查询与组合查询 179

15.2 组合查询操作符 180

15.2.1 union 180

15.2.2 union all 182

15.2.3 intersect 183

15.2.4 except 184

15.3 组合查询里使用order by 184

15.4 组合查询里使用group by 186

15.5 获取准确的数据 187

15.6 小结 187

15.7 问与答 187

15.8 实践 188

15.8.1 测验 188

15.8.2 练习 189

第五部分 sql性能调整

第16章 利用索引改善性能 193

16.1 什么是索引 193

16.2 索引是如何工作的 194

16.3 create index命令 194

16.4 索引的类型 195

16.4.1 单字段索引 195

16.4.2 唯一索引 195

16.4.3 组合索引 196

16.4.4 隐含索引 196

16.5 何时考虑使用索引 196

16.6 何时应该避免使用索引 197

16.7 修改索引 198

16.8 删除索引 198

16.9 小结 199

16.10 问与答 199

16.11 实践 199

16.11.1 测验 199

16.11.2 练习 200

第17章 改善数据库性能 201

17.1 什么是sql语句调整 201

17.2 数据库调整与sql语句调整 202

17.3 格式化sql语句 202

17.3.1 为提高可读性格式化sql语句 202

17.3.2 from子句里的表 204

17.3.3 结合条件的次序 204

17.3.4 最严格条件 205

17.4 全表扫描 206

17.5 其他性能考虑 207

17.5.1 使用like操作符和通配符 207

17.5.2 避免使用or操作符 208

17.5.3 避免使用having子句 208

17.5.4 避免大规模排序操作 209

17.5.5 使用存储过程 209

17.5.6 在批加载时关闭索引 209

17.6 基于成本的优化 210

17.7 性能工具 210

17.8 小结 210

17.9 问与答 211

17.10 实践 211

17.10.1 测验 211

17.10.2 练习 211

第六部分 使用sql管理用户和安全

第18章 管理数据库用户 215

18.1 数据库的用户管理 215

18.1.1 用户的类型 216

18.1.2 谁管理用户 216

18.1.3 用户在数据库里的位置 216

18.1.4 不同规划里的用户 217

18.2 管理过程 217

18.2.1 创建用户 217

18.2.2 创建规划 219

18.2.3 删除规划 220

18.2.4 调整用户 221

18.2.5 用户会话 222

18.2.6 禁止用户访问 222

18.3 数据库用户使用的工具 222

18.4 小结 223

18.5 问与答 223

18.6 实践 223

18.6.1 测验 224

18.6.2 练习 224

第19章 管理数据库安全 225

19.1 什么是数据库安全 225

19.2 什么是权限 226

19.2.1 系统权限 226

19.2.2 对象权限 227

19.2.3 谁负责授予和撤销权限 228

19.3 控制用户访问 228

19.3.1 grant命令 228

19.3.2 revoke命令 229

19.3.3 控制对单独字段的访问 230

19.3.4 数据库账户public 230

19.3.5 权限组 230

19.4 通过角色控制权限 231

19.4.1 create role语句 232

19.4.2 drop role语句 232

19.4.3 set role语句 232

19.5 小结 233

19.6 问与答 233

19.7 实践 233

19.7.1 测验 234

19.7.2 练习 234

第七部分 摘要数据结构

第20章 创建和使用视图及异名 237

20.1 什么是视图 237

20.1.1 使用视图来简化数据访问 238

20.1.2 使用视图作为一种安全形式 238

20.1.3 使用视图维护摘要数据 239

20.2 创建视图 239

20.2.1 从一个表创建视图 239

20.2.2 从多个表创建视图 241

20.2.3 从视图创建视图 241

20.3 with check option 242

20.4 从视图创建表 243

20.5 视图与order by子句 244

20.6 通过视图更新数据 244

20.7 删除视图 244

20.8 嵌套视图对性能的影响 245

20.9 什么是异名 245

20.9.1 创建异名 245

20.9.2 删除异名 246

20.10 小结 246

20.11 问与答 247

20.12 实践 247

20.12.1 测验 247

20.12.2 练习 247

第21章 使用系统目录 248

21.1 什么是系统目录 248

21.2 如何创建系统目录 249

21.3 系统目录里包含什么内容 249

21.3.1 用户数据 250

21.3.2 安全信息 250

21.3.3 数据库设计信息 250

21.3.4 性能统计 250

21.4 不同实现里的系统目录表格 250

21.5 查询系统目录 251

21.6 更新系统目录对象 253

21.7 小结 253

21.8 问与答 253

21.9 实践 254

21.9.1 测验 254

21.9.2 练习 254

第八部分 在实际工作中应用sql知识

第22章 高级sql主题 257

22.1 光标 257

22.1.1 打开光标 258

22.1.2 从光标获取数据 258

22.1.3 关闭光标 260

22.2 存储过程和函数 260

22.3 触发器 262

22.3.1 create trigger语句 262

22.3.2 drop trigger语句 263

22.3.3 for each row语句 264

22.4 动态sql 264

22.5 调用级接口 264

22.6 使用sql生成sql 265

22.7 直接sql与嵌入sql 265

22.8 窗口表格函数 266

22.9 使用xml 266

22.10 小结 267

22.11 问与答 267

22.12 实践 267

22.12.1 测验 267

22.12.2 练习 268

第23章 sql扩展到企业、互联网和内部网 269

23.1 sql与企业 269

23.1.1 后台程序 269

23.1.2 前台程序 270

23.2 访问远程数据库 270

23.2.1 odbc 271

23.2.2 jdbc 271

23.2.3 ole db 271

23.2.4 厂商连接产品 272

23.2.5 通过web接口访问远程数据库 272

23.3 sql与互联网 273

23.3.1 让数据可以被全世界的顾客使用 273

23.3.2 向雇员和授权顾客提供数据 273

23.4 sql与内部网 273

23.5 小结 274

23.6 问与答 274

23.7 实践 275

23.7.1 测验 275

23.7.2 练习 275

第24章 标准sql的扩展 276

24.1 各种实现 276

24.1.1 不同实现之间的区别 276

24.1.2 遵循ansi sql 277

24.1.3 sql的扩展 278

24.2 扩展范例 278

24.2.1 transact-sql 279

24.2.2 pl/sql 279

24.2.3 mysql 280

24.3 交互sql语句 280

24.4 小结 281

24.5 问与答 281

24.6 实践 282

24.6.1 测验 282

24.6.2 练习 282

第九部分 附录

附录a 常用sql命令 285

a.1 sql语句 285

a.2 sql子句 288

附录b 使用数据库进行练习 290

b.1 在windows操作系统中安装mysql的指令 290

b.2 在windows操作系统中安装oracle的指令 292

b.3 在windows操作系统中安装microsoft sql server的指令 293

附录c 测验和练习的答案 295

附录d 本书范例的create table语句 333

d.1 mysql 333

d.2 oracle和sql server 334

附录e 书中范例所涉数据的insert语句 336

e.1 mysql和sql server 336

e.1.1 employee_tbl 336

e.1.2 employee_pay_tbl 336

e.1.3 customer_tbl 337

e.1.4 orders_tbl 338

e.1.5 products_tbl 338

e.2 oracle 339

e.2.1 employee_tbl 339

e.2.2 employee_pay_tbl 339

e.2.3 customer_tbl 340

e.2.4 orders_tbl 341

e.2.5 products_tbl 341

附录f 额外练习 342

术语表 347


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

SQL入门经典
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon