《SQL入门经典 第4版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)Ryan Stephens
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2009
  • ISBN:
  • 页数:327 页
图书介绍:

第一部分 SQL概念综述 3

第1章 欢迎来到SQL世界 3

1.1 SQL定义及历史 3

1.1.1什么是SQL 4

1.1.2什么是ANSI SQL 4

1.1.3新标准:SQL-2003 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会话 8

1.2.1 CONNECT 8

1.2.2 DISCONNECT和EXIT 8

1.3 SQL命令的类型 8

1.3.1定义数据库结构 9

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表的构成 12

1.4.4 MySQL范例和练习 14

1.5小结 14

1.6问与答 14

1.7实践 15

1.7.1测验 15

1.7.2练习 15

第二部分 建立数据库 19

第2章 定义数据结构 19

2.1数据是什么 19

2.2基本数据类型 19

2.2.1定长字符串 20

2.2.2变长字符串 20

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自定义类型 24

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行 32

3.3.3 CREATE TABLE语句 32

3.3.4命名规范 33

3.3.5 ALTER TABLE命令 33

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

3.3.7删除表 36

3.4完整性约束 36

3.4.1主键约束 36

3.4.2惟一性约束 37

3.4.3外键约束 38

3.4.4 NOT NULL约束 38

3.4.5检查约束 39

3.4.6去除约束 39

3.5小结 40

3.6问与答 40

3.7实践 40

3.7.1测验 41

3.7.2练习 41

第4章 规格化过程 42

4.1规格化数据库 42

4.1.1原始数据库 42

4.1.2数据库逻辑设计 43

4.1.3规格形式 44

4.1.4命名规范 46

4.1.5规格化的优点 47

4.1.6规格化的缺点 47

4.2去规格化数据库 48

4.3小结 48

4.4问与答 48

4.5实践 49

4.5.1测验 49

4.5.2练习 49

第5章 操作数据 51

5.1数据操作概述 51

5.2用新数据填充表 51

5.2.1把数据插入到表 52

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

5.2.3从另一个表插入数据 53

5.2.4插入NULL值 55

5.3更新现有数据 55

5.3.1更新一列的数据 55

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

5.4从表里删除数据 56

5.5小结 57

5.6问与答 57

5.7实践 58

5.7.1测验 58

5.7.2练习 59

第6章 管理数据库事务 60

6.1什么是事务 60

6.2控制事务 61

6.2.1 COMMIT命令 61

6.2.2 ROLLBACK命令 62

6.2.3 SAVEPOINT命令 63

6.2.4 ROLLBACK TO SAVEPOINT命令 64

6.2.5 RELEASE SAVEPOINT命令 65

6.2.6 SET TRANSACTION命令 65

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

6.4小结 66

6.5问与答 66

6.6实践 66

6.6.1测验 66

6.6.2练习 67

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

第7章 数据库查询 71

7.1什么是查询 71

7.2 SELECT语句 71

7.2.1 SELECT语句 72

7.2.2 FROM子句 73

7.2.3 WHERE子句 74

7.2.4 ORDER BY子句 75

7.2.5大小写敏感性 76

7.3简单查询的范例 77

7.3.1统计表里的记录数量 78

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

7.3.3使用字段别名 79

7.4小结 79

7.5问与答 79

7.6实践 80

7.6.1 测验 80

7.6.2练习 80

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

8.1什么是SQL里的操作符 82

8.2比较操作符 82

8.2.1相等 83

8.2.2不等于 83

8.2.3小于和大于 84

8.2.4比较操作符的组合 84

8.3逻辑操作符 85

8.3.1 IS NULL 85

8.3.2 BETWEEN 86

8.3.3 IN 86

8.3.4 LIKE 87

8.3.5 EXISTS 88

8.3.6 ALL、SOME和ANY操作符 88

8.4连接操作符 89

8.4.1 AND 90

8.4.2 OR 90

8.5求反操作符 92

8.5.1不相等 92

8.5.2 NOT BETWEEN 92

8.5.3 NOT IN 93

8.5.4 NOT LIKE 93

8.5.5 IS NOT NULL 94

8.5.6 NOT EXISTS 94

8.6算术操作符 94

8.6.1加法 95

8.6.2减法 95

8.6.3乘法 95

8.6.4除法 96

8.6.5算术操作符的组合 96

8.7小结 97

8.8问与答 97

8.9实践 97

8.9.1测验 97

8.9.2练习 98

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

9.1什么是汇总函数 100

9.1.1 COUNT函数 101

9.1.2 SUM函数 103

9.1.3 AVG函数 103

9.1.4 MAX函数 104

9.1.5 MIN函数 105

9.2小结 105

9.3问与答 106

9.4实践 106

9.4.1 测验 106

9.4.2练习 107

第10章 数据排序与分组 108

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

10.2 GROUP BY子句 109

10.2.1分组函数 109

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

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

10.2.4以整数代表字段名称 112

10.3 GROUP BY与ORDER BY 112

10.4 HAVING子句 114

10.5小结 115

10.6问与答 115

10.7实践 115

10.7.1测验 115

10.7.2练习 116

第11章 调整数据的外观 117

11.1 ANSI字符函数 117

11.1.1串接 117

11.1.2子串 118

11.1.3 TRANSLATE 118

11.2常用字符函数 118

11.2.1串接 118

11.2.2 TRANSLATE 119

11.2.3 REPLACE 120

11.2.4 UPPER 120

11.2.5 LOWER 120

11.2.6 SUBSTR 121

11.2.7 INSTR 122

11.2.8 LTRIM 122

11.2.9 RTRIM 123

11.2.10 DECODE 123

11.3其他字符函数 124

11.3.1 LENGTH 124

11.3.2 IFNULL(检查NULL值) 124

11.3.3 COALESCE 125

11.3.4 LPAD 125

11.3.5 RPAD 126

11.3.6 ASCII 126

11.4算术函数 126

11.5转换函数 127

11.5.1字符串转换为数字 127

11.5.2数字转换为字符串 128

11.6字符函数的组合使用 128

11.7小结 129

11.8问与答 129

11.9实践 130

11.9.1测验 130

11.9.2练习 130

第12章 日期和时间 132

12.1日期是如何存储的 132

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

12.1.2 DATETIME元素 133

12.1.3不同实现的日期类型 133

12.2日期函数 134

12.2.1当前日期 134

12.2.2时区 134

12.2.3时间与日期相加 135

12.2.4比较日期和时间间隔 136

12.2.5其他日期函数 137

12.3日期转换 137

12.3.1日期描述 138

12.3.2日期转换为字符串 140

12.3.3字符串转换为日期 140

12.4小结 141

12.5问与答 141

12.6实践 141

12.6.1测验 141

12.6.2练习 141

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

第13章 在查询里结合表 145

13.1从多个表获取数据 145

13.2结合的类型 146

13.2.1结合条件的位置 146

13.2.2等值结合 146

13.2.3自然结合 147

13.2.4 使用表的别名 148

13.2.5不等值结合 149

13.2.6外部结合 150

13.2.7自结合 151

13.2.8结合多个主键 152

13.3需要考虑的事项 153

13.3.1使用基表 153

13.3.2笛卡尔积 154

13.4小结 155

13.5问与答 156

13.6实践 156

13.6.1测验 156

13.6.2练习 157

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

14.1什么是子查询 158

14.1.1子查询与SELECT语句 159

14.1.2子查询与INSERT语句 160

14.1.3子查询与UPDATE语句 161

14.1.4子查询与DELETE语句 162

14.2嵌套的子查询 162

14.3关联子查询 164

14.4小结 164

14.5问与答 165

14.6实践 165

14.6.1测验 165

14.6.2练习 166

第15章 组合多个查询 168

15.1单查询与组合查询 168

15.2组合查询操作符 169

15.2.1 UNION 169

15.2.2 UNIONALL 171

15.2.3 INTERSECT 172

15.2.4 EXCEPT 172

15.3组合查询里使用ORDER BY 173

15.4组合查询里使用GROUP BY 174

15.5获取准确的数据 175

15.6小结 176

15.7问与答 176

15.8实践 176

15.8.1测验 177

15.8.2练习 178

第五部分 SQL性能调整 181

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

16.1什么是索引 181

16.2索引是如何工作的 182

16.3 CREATE INDEX命令 182

16.4索引的类型 183

16.4.1单字段索引 183

16.4.2惟一索引 183

16.4.3组合索引 184

16.4.4隐含索引 184

16.5何时考虑使用索引 184

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

16.7删除索引 186

16.8小结 186

16.9问与答 186

16.10实践 187

16.10.1 测验 187

16.10.2练习 187

第17章 改善数据库性能 188

17.1什么是SQL语句调整 188

17.2数据库调整与SQL语句调整 189

17.3格式化SQL语句 189

17.3.1为提高可读性格式化SQL语句 189

17.3.2 FROM子句里的表 191

17.3.3结合条件的次序 191

17.3.4最严格条件 191

17.4全表扫描 192

17.5其他性能考虑 193

17.5.1使用LIKE操作符和通配符 193

17.5.2避免使用OR操作符 194

17.5.3避免使用HAVING子句 195

17.5.4避免大规模排序操作 195

17.5.5使用存储过程 195

17.5.6在批加载时关闭索引 195

17.6性能工具 196

17.7小结 196

17.8问与答 196

17.9实践 197

17.9.1测验 197

17.9.2练习 197

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

第18章 管理数据库用户 201

18.1用户就是原因 202

18.1.1用户的类型 202

18.1.2谁管理用户 202

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

18.1.4不同规划里的用户 203

18.2管理过程 203

18.2.1创建用户 204

18.2.2创建规划 205

18.2.3删除规划 206

18.2.4调整用户 207

18.2.5用户会话 207

18.2.6禁止用户访问 208

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

18.4小结 208

18.5问与答 209

18.6实践 209

18.6.1测验 209

18.6.2练习 209

第19章 管理数据库安全 211

19.1什么是数据库安全 211

19.2什么是权限 212

19.2.1系统权限 212

19.2.2对象权限 213

19.2.3谁负责授予和撤消权限 214

19.3控制用户访问 214

19.3.1 GRANT命令 215

19.3.2 REVOKE命令 216

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

19.3.4数据库账户PUBLIC 216

19.3.5权限组 217

19.4通过角色控制权限 217

19.4.1 CREATE ROLE语句 218

19.4.2 DROP ROLE语句 218

19.4.3 SET ROLE语句 218

19.5小结 218

19.6问与答 219

19.7实践 219

19.7.1测验 219

19.7.2练习 220

第七部分 摘要数据结构 223

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

20.1什么是视图 223

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

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

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

20.2创建视图 225

20.2.1从一个表创建视图 225

20.2.2从多个表创建视图 227

20.2.3从视图创建视图 227

20.3 WITH CHECK OPTION 228

20.4通过视图更新数据 229

20.4.1在视图里插入记录 229

20.4.2从视图里删除记录 229

20.5从视图创建表 229

20.6视图与ORDER BY子句 230

20.7删除视图 230

20.8什么是异名 231

20.8.1创建异名 231

20.8.2删除异名 232

20.9小结 232

20.10问与答 232

20.11实践 233

20.11.1 测验 233

20.11.2练习 233

第21章 使用系统目录 234

21.1什么是系统目录 234

21.2如何创建系统目录 235

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

21.3.1用户数据 236

21.3.2安全信息 236

21.3.3数据库设计信息 236

21.3.4性能统计 236

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

21.5查询系统目录 238

21.6更新系统目录对象 239

21.7小结 240

21.8问与答 240

21.9实践 241

21.9.1测验 241

21.9.2练习 241

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

第22章 高级SQL主题 245

22.1光标 245

22.1.1打开光标 246

22.1.2从光标获取数据 246

22.1.3关闭光标 247

22.2存储过程和函数 247

22.3触发器 249

22.3.1 CREATE TRIGGER语句 249

22.3.2 DROP TRIGGER语句 250

22.3.3 FOR EACH ROW语句 251

22.4动态SQL 251

22.5调用级接口 251

22.6使用SQL生成SQL 252

22.7直接SQL与嵌入SQL 252

22.8窗口表格函数 253

22.9使用XML 253

22.10小结 253

22.11问与答 254

22.12实践 254

22.12.1测验 254

22.12.2练习 255

第23章 SQL扩展到企业、互联网和内部网 256

23.1 SQL与企业 256

23.1.1后台程序 256

23.1.2前台程序 257

23.2访问远程数据库 258

23.2.1 ODBC 258

23.2.2 JDBC 258

23.2.3厂商连接产品 259

23.2.4通过Web接口访问远程数据库 259

23.3 SQL与互联网 260

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

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

23.3.3使用SQL的前台Web工具 260

23.4 SQL与内部网 260

23.5小结 261

23.6问与答 261

23.7实践 261

23.7.1测验 262

23.7.2练习 262

第24章 标准SQL的扩展 263

24.1各种实现 263

24.1.1不同实现之间的区别 263

24.1.2遵循ANSI SQL 264

24.1.3 SQL的扩展 265

24.2扩展范例 265

24.2.1 Transact-SQL 266

24.2.2 PL/SQL 266

24.2.3 MySQL 267

24.3交互SQL语句 267

24.4小结 268

24.5问与答 268

24.6实践 269

24.6.1测验 269

24.6.2练习 269

第九部分 附录 273

附录A 常用SQL命令 273

A.1 SQL语句 273

A.2 SQL子句 276

附录B 使用MySQL进行练习 278

B.1 Windows安装指令 278

B.2 Linux安装指令 279

附录C 测验和练习的答案 280

附录D 本书范例的CREATE TABLE语句 314

D.1 EMPLOYEE_TBL 314

D.2 EMPLOYEE_PAY_TBL 314

D.3 CUSTOMER_TBL 314

D.4 ORDERS_TBL 315

D.5 PRODUCTS_TBL 315

附录E 书中范例的INSERT语句 316

E.1 EMPLOYEE_TBL 316

E.2 EMPLOYEE_PAY_TBL 316

E.3 CUSTOMER_TBL 317

E.4 ORDERS_TBL 318

E.5 PRODUCTS_TBL 318

附录F 额外练习 320

术语表 325