《SQL自学通》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)(R.K.斯蒂芬斯)Ryan K.Stephens,(美)(R.R.普莱夫)Ronald R.Plew著;陈津利等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:1998
  • ISBN:7111066693
  • 页数:293 页
图书介绍:本书简单扼要地介绍了SQL的要领和基本理,着重讲解了SQL的数据结构、数据库对象的管理、规范化进程以及数据处理的核心内容。每章后面都附有具体练习实例和问题讲解。本书是一本初中级用户掌握SQL的优秀速成指南。

前言 1

第一部分 SQL概念综述 1

第1章 欢迎学习SQL 1

1.1 SQL定义和历史 1

1.1.1 什么是SQL 1

1.1.2 什么是ANSI SQL 2

1.1.3 什么是数据库? 2

1.1.4 关系型数据库简介 2

1.1.5 客户机/服务器技术简介 3

1.1.6 一些流行的关系型数据库供应商 4

1.2 SQL命令的种类 4

1.2.5 数据管理命令 5

1.2.4 数据控制语言(DCL) 5

1.2.3 选择数据(DQL) 5

1.2.2 操纵数据(DML) 5

1.2.6 事务性控制命令 6

1.3 在本书中使用的数据库简介 6

1.3.1 本书的表图 6

1.3.2 表命名标准 7

1.3.3 观察数据 7

1.3.4 仔细观察表的结构 9

1.4 小结 10

1.5 问与答 11

1.6 自习 11

1.6.1 测验 11

1.6.2 练习 11

2.2 基本数据类型 13

2.1 数据是什么? 13

第二部分 建立数据库 13

第2章 定义数据结构 13

2.2.1 定长字符串 14

2.2.2 变长字符串 14

2.2.3 数字值 14

2.2.4 小数点数值 15

2.2.5 整型 15

2.2.6 浮点小数 16

2.2.7 日期和时间 16

2.2.8 文字串 16

2.3 小结 17

2.4 问与答 17

2.5.2 练习 18

2.5.1 测验 18

2.5 自习 18

第3章 管理数据库对象 20

3.1 什么是数据库对象? 20

3.2 什么是模式? 20

3.3 表:数据的主要存储器 21

3.3.1 字段和列 22

3.3.2 行 22

3.3.3 CREATE TABLE语句 22

3.3.4 命名约定 24

3.3.5 ALTER TABLE命令 24

3.3.6 从现有表中创建一表 25

3.4 完整性约束 27

3.4.1 主键约束 27

3.3.7 删除表 27

3.4.2 一性约束 28

3.4.3 外键约束 28

3.4.4 NOT NULL约束 29

3.4.5 使用Check约束 30

3.5 小结 30

第4 章 规范化过程 33

4.1 将数据库规范化 33

4.1.1 数据库原材料 33

4.1.2 逻辑数据库设计 34

4.1.3 规范形式 34

4.1.4 命名约定 35

4.1.7 数据库的非规范化 37

4.1.6规范化的弊端 37

4.1.5 规范化的好处 37

4.2 小结 38

4.3 问与答 38

4.4 自习 38

4.4.1 测验 38

4.4.2 练习 39

第5章 操纵数据 40

5.1 数据操纵综述 40

5.2 给表填充新数据 40

5.2.1 往表中插入新数据 40

5.2.2 往表中有限列中插入数据 41

5.2.3 插入另外一张表中的数据 42

5.2.4 插入NULL值 44

5.3.1 只更新单独一列的数值 45

5.3 更新已存在的数据 45

5.3.2 在一行或多行记录中更新多个列 46

5.4 从表中删除数据 47

5.5小结 47

5.7.1测验 48

5.7.2练习 49

第6章 数据库事务管理 50

6.1 什么是事务 50

6.2 什么是事务控制? 50

6.2.1 COMMIT命令 51

6.2.2 ROLLBACK命令 52

6.2.3 SAVEPOINT命令 54

6.3 事务控制和数据库的性能 55

6.6.1 测验 56

6.6.2 练习 56

6.5 问与答 56

6.6 自习 56

6.4 小结 56

第三部分 用查询创建有效的结果集 59

第7章 数据库查询介绍 59

7.1 什么是查询 59

7.2 SELECT语句介绍 59

7.2.1 SELECT语句 59

7.2.2 FROM子句 62

7.2.3 使用条件来区分数据 62

7.2.4 输出排序 64

7.2.5 区分大小写 66

7.3 简单查询的例子 67

7.3.1 统计表中的记录数 68

7.3.3 列的别名 69

7.3.2 从其他用户表中选择数据 69

7.4 小结 70

7.5 问与答 70

7.6 自习 70

7.6.1 测验 70

7.6.2 练习 70

第8章 使用操作符来给数据分类 72

8.1 在SQL中什么是操作符 72

8.2 比较操作符 72

8.2.1 相等性 72

8.2.2 不等性 73

8.2.3 小于,大于 74

8.2.4 比较操作符的组合操作实例 75

8.3 逻辑操作符 76

8.3.1 IS NULL 76

8.3.2 BETWEEN 77

8.3.3 IN 77

8.3.4 LIKE 78

8.3.5 EXISTS 79

8.3.6 UNIQUE 80

8.3.7 ALL和ANY操作符 80

8.4 连接符 82

8.4.1 AND 82

8.4.2 OR 83

8.5 NOT操作符求逆条作 84

8.5.1 不等性 84

8.5.3 NOT IN 85

8.5.2 NOT BETWEEN 85

8.5.4 NOT LIKE 86

8.5.5 IS NOT NULL 87

8.5.6 NOT EXISTS 87

8.5.7 NOT UNIQUE 88

8.6 算术操作符 88

8.6.1 加法 88

8.6.2 减法 89

8.6.3 乘法 89

8.6.4 除法 89

8.6.5 数学运算符的组合 90

8.7 小结 90

8.9 自习 91

8.9.1 测验 91

8.8 问与答 91

8.9.2 练习 92

第9章 统计查询的结果数据 93

9.1 什么是统计函数 93

9.1.1 COUNT函数 94

9.1.2 SUM函数 97

9.1.3 AVG函数 97

9.1.4 MAX函数 98

9.1.5 MIN函数 99

9.2 小结 100

9.3 问与答 100

9.4 自习 100

9.4.1 测验 100

9.4.2 练习 101

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

10.2 GROUP BY子句 102

第10章 数据排序和分组 102

10.2.1 给选择的数据分组 103

10.2.2 分组函数 103

10.2.3 创建分组和使用统计函数 103

10.2.4 使用数字代表列名 106

10.3 GROUP BY与ORDER BY相比较 107

10.4 HAVING子句 109

10.5 小结 110

10.6 问与答 110

10.7 自习 111

10.7.1 测验 111

10.7.2 练习 111

11.1.2 Substring(子串) 112

11.1.4 CONVERT(转换) 112

11.1.3 TRANSLATE(翻译) 112

11.1.1 Concatenation(聚集) 112

11.1 ANSI字符函数的概念 112

第11 章 重新构造数据的表现形式 112

11.1.5 POSIIION(定位) 113

11.2 各种通用的字符函数 113

11.2.1 Concatenation(聚集) 113

11.2.2 TRANSLATE 114

11.2.3 REPLACE 115

11.2.4 UPPER(大写) 115

11.2.5 LOWER(小写) 116

11.2.6 SUBSTR 117

11.2.7 INSTR 118

11.2.8 LTRIM 119

11.2.10 DECODE 120

11.2.9 RTRIM 120

11.3 杂项字符函数 121

11.3.1 查找值的长度 121

11.3.2 NVL(NULL值) 122

11.3.3 LPAD 122

11.3.4 RPAD 123

11.4.5 看起来像什么? 124

11.3.6 ASCII 124

11.4 算术函数 124

11.5 转换函数 125

11.5.1 将字符串转换成数字 125

11.5.2 将数字转换成字符串 126

11.6 字符组合函数的概念 127

11.9 自习 128

11.8 问与答 128

11.7 小结 128

11.9.1 测验 129

11.9.2 练习 129

第12 章 理解日期和时间 130

12.1 日期是怎样存储的 130

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

12.1.2 DATETIME元素 131

12.1.3 在不同实施方案下的数据类型 131

12.2 日期函数 131

12.2.1 当前日期 131

12.2.2 时区 132

12.2.3 将时间加到日期中 133

12.2.4 比较日期段和时间段 134

12.3.1 日期片段 135

12.2.5 其他日期函数 135

12.3 日期转换 135

12.3.2 将日期转换成字符串 137

12.3.3 将字符串转换成日期 138

12.4 小结 139

12.5 问与答 139

12.6 自习 139

12.6.1 测验 139

12.6.2 练习 140

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

第13 章 在查询中连接多张表 141

13.1 从多张表中选择数据 141

13.2 连接的类型 141

13.2.2 等号连接 142

13.2.1 连接条件的组件位置 142

13.2.3 自然连接 143

13.2.4 使用表的别名 144

13.2.5 不等性连接 144

13.2.6 外部连接 146

13.2.7 自我连接 148

13.3 连接时的考虑因素 148

13.3.1 使用基表 148

13.3.2 Cartesian Product 150

13.4 小结 151

13.5 问与答 151

13.6 自习 152

13.6.1 测验 152

13.6.2 练习 152

14.1 什么是子查询? 155

第14章 使用子查询定义未知数据 155

14.1.1 带有SELECT语句的子查询 156

14.1.2 带有INSERT语句的子查询 157

14.1.3 带有UPDATE语句的子查询 158

14.1.4 带有DELETE语句的子查询 159

14.2 将一个子查询嵌入到另一个子查询中 160

14.3 小结 163

14.4 问与答 164

14.5 自习 164

14.5.1 测验 164

14.5.2 练习 165

第15章 将多个查询组合成一个 167

15.1 单个查询与组合查询 167

15.2 为什么要使用组合查询 167

15.3.1 UNION操作符 168

15.3 组合查询操作符 168

15.3.2 UNION ALL操作符 170

15.3.3 INTERSECT操作符 171

EXCEPT操作符 172

15.4 在组合查询中使用ORDER BY 174

15.5 在组合查询中使用GROUP BY子句 175

15.6 检索精确的数据 177

15.7 小结 177

15.8 问与答 177

15.9 自习 178

15.9.1 测验 178

15.9.2 练习 179

16.2 索引是如何工作的? 181

16.1 什么是索引? 181

第16章 利用索引提高性能 181

第五部分 SQL性能调节 181

16.3 CREATE INDEX命令 182

16.4 索引的类型 182

16.4.1 单列索引 182

16.4.2 唯一索引 183

16.4.3 复合索引 183

16.4.4 单列索引和复合索引 184

16.5 何时考虑使用索引 184

16.6 何时避免使用索引 184

16.7 小结 185

16.9.2 练习 186

16.9.1 测验 186

16.9 自习 186

16.8 问与答 186

第17章 提高数据库性能 187

17.1 什么是SQL语句的调节 187

17.2 数据库调节和SQL调节 187

17.3 格式化SQL语句 188

17.3.1 格式化一个语句使之更具可读性 188

17.3.2 合理安排FROM子句中的表 190

17.3.3 连接条件的合理顺序 190

17.3.4 最强限定条件 190

17.4 全表浏览 192

17.5 提高查询性能应考虑的其他因素 193

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

17.5.5 使用存储过程 194

17.5.4 避免大的排序操作 194

17.5.2 避免使用 OR操作符 194

17.5.3 避免使用HAVINC子句 194

17.6 小结 195

17.7 问与答 195

17.8 自习 195

17.8.1 测验 195

17.8.2 练习 196

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

第18章 管理数据库用户 199

18.1 用是根本 199

18.1.3 用户在数据库中的地位 200

18.1.4 用户与模式有何不同? 200

18.1.2 谁来管理用户? 200

18.1.1 用户的类型 200

18.2 管理的过程 201

18.2.1 创建用户 201

18.2.2 创建模式 202

18.2.3 删除模式 203

18.2.4 改变用户属性 203

18.2.5 用户会话 204

18.2.6 删除用户访问 205

18.3 用户工具 205

18.4 小结 205

18.5 问与答 205

18.6 自习 206

18.6.1 测验 206

18.6.2 练习 206

19.2 数据库安全与用户管理有何区别 207

第19章 管理数据库安全 207

19.1 什么是数据库安全 207

19.3 什么是特权 208

19.3.1 系统特权 208

19.3.2 对象特权 209

19.3.3 谁不授予或收回特权 209

19.4 控制用户访问 209

19.4.1 CRANT命令 210

19.4.2 REVOKE命令 210

19.4.5 PUBLIC数据库帐户 211

19.4.6 特权组 211

19.7 自习 212

19.7.1 测验 212

19.6 问与答 212

19.5 小结 212

19.7.2 练习 213

第七部分 综合的数据结构 215

第20章 创建并使用视图和同义词 215

20.1 什么是视图 215

20.1.1 视图能用作一种安全的形式 216

20.1.2 利用视图维护综合数据 216

20.1.3 视图是如何保存的? 216

20.2 创建视图 217

20.2.1 从单独的表中创建视图 217

20.2.2 从多个表中创建视图 219

20.2.3 从视图中创建视图 220

20.2.4 WITH CHECK OPTION 221

20.2.9 从视图中创建表 222

20.2.8 视图与表或其他视图的连接 222

20.2.6 向视图中插入数据行 222

20.2.7 从视图中删除数据行 222

20.2.5 更新视图 222

20.2.10 视图与ORDER BY子句 223

20.3 删除视图 224

20.4 什么是同义词? 225

20.5 小结 227

20.6 问与答 227

20.7 自习 227

20.7.1 测验 227

20.7.2 练习 228

第21章 利用系统目录工作 229

21.1 什么是系统目录? 229

21.3 系统目录包含哪些内容? 230

21.2 如何创建系统目录? 230

21.3.1 用户数据 231

21.3.2 安全信息 231

21.3.3 数据库设计信息 231

21.3.4 性能数据 231

21.4 不同数据库实现中的系统目录表举例 231

21.5 查询系统目录 233

21.6 更新系统目录对象 235

21.7 小结 235

21.8 问与答 235

21.9 自习 236

21.9.1 测验 236

21.9.2 练习 236

22.2 光标 237

22.1 高级话题 237

第八部分 实际应用SQL的基础 237

第22章 高级SQL话题 237

22.2.1 打开光标 238

22.2.2 从光标中取来数据 238

22.2.3 关闭光标 239

22.3 存储过程 239

22.4 触发器 241

22.5 动态SQL 242

22.6 调用级界面 243

22.7 使用SQL生成SQL 243

22.8 直接SQL和嵌入的SQL 244

22.9 小结 244

22.11.1 测验 245

22.11.2 练习 245

22.11 自习 245

22.10 问与答 245

第23 章 扩展SQL到企业、Internet和Intranet 246

23.1 SQL和企业 246

23.1.1 后端 246

23.1.2 前端应用程序 247

23.1 访问远程数据库 247

23.2.1 ODBC 248

23.2.2 厂商的连接产品 248

23.3 通过Web界面访问远程数据库 249

23.4 SQL和Internet 249

23.6 小结 250

23.5 SQL和Intarnet 250

23.4.3 使用SQL的前端Web工具 250

23.4.2 让雇员或获得授权的客户享有数据 250

23.4.1 使全世界的客户都能共享数据 250

23.7 问与答 251

23.8 自习 251

23.8.1 测验 251

23.8.2 练习 251

第24 章 对标准SQL的扩充 252

24.1 各种各样的SQL实现 252

24.1.1 不同实现之间的差别 252

24.1.2 遵循ANSI SQL 253

24.1.3 对SQL的扩充 254

24.2 扩充标准SQL的实例 254

24.2.1 Transact-SQL 254

24.2.2 PL/SQL 255

24.3 交互式SQL语句 256

24.4 小结 257

24.5 问与答 257

25.6 自习 257

24.6.1 测验 257

24.6.2 练习 258

第九部分 附录 259

附录A 常用SQL命令 259

附录B ASCII码表 263

附录C 测验题及练习题答案 268

附录D 创建本书例子中的表的CREATE TABLE语句 283

附录E 用于向本书例子中的表插入数据的INSERT语句 285

附录F 术语对照表 290