《SQL自学通》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:(美)斯蒂芬斯(Stephens R.K.)等著
  • 出 版 社:
  • 出版年份:1998
  • ISBN:
  • 页数:0 页
图书介绍:

前言 1

第一部分SQL概念综述 1

第1章 欢迎学习SQL 1

1.1 SQL定义和历史 1

1.1.1什么是SQL 1

目录 1

1.1.2什么是ANSI SQL 2

1.1.3什么是数据库? 2

1.1.4关系型数据库简介 2

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

1.2 SQL命令的种类 4

1.2.1定义数据库结构(DDL) 4

应商 4

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

1.2.2操纵数据(DML) 5

1.2.3选择数据(DQL) 5

1.2.4数据控制语言(DCL) 5

1.2.5数据管理命令 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.6.2练习 11

1.6.1测验 11

1.6 自习 11

1.5问与答 11

第二部分建立数据库 13

第2章 定义数据结构 13

2.1数据是什么? 13

2.2基本数据类型 13

2.2.1定长字符串 14

2.2.2变长字符串 14

2.2.3数字值 14

2.2.4小数点数值 15

2.2.5整型 15

2.2.7 日期和时间 16

2.2.8文字串 16

2.2.6浮点小数 16

2.2.9 NULL数据类型 17

2.3小结 17

2.4问与答 17

2.5 自习 18

2.5.1测验 18

2.5.2练习 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.5 ALTER TABLE命令 24

3.3.4命名约定 24

3.3.6从现有表中创建一表 25

3.3.7删除表 27

3.4完整性约束 27

3.4.1 主键约束 27

3.4.2 一性约束 28

3.4.3外键约束 28

3.4.4 NOT NULL约束 29

3.4.5使用Check约束 30

3.5小结 30

3.6问与答 31

3.7 自习 31

3.7.1测验 31

3.7.2练习 32

4.1.1数据库原材料 33

第4章 规范化过程 33

4.1将数据库规范化 33

4.1.2逻辑数据库设计 34

4.1.3规范形式 34

4.1.4命名约定 35

4.1.5规范化的好处 37

4.1.6规范化的弊端 37

4.1.7数据库的非规范化 37

4.2小结 38

4.3问与答 38

4.4 自习 38

4.4.1 测验 38

4.4.2练习 39

5.2.1往表中插入新数据 40

5.2给表填充新数据 40

第5章 操纵数据 40

5.1数据操纵综述 40

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

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

5.2.4插入NULL值 44

5.3更新已存在的数据 45

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

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

5.4从表中删除数据 47

5.5小结 47

5.6问与答 47

5.7 自习 48

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.4小结 56

6.5问与答 56

6.6自习 56

6.6.1测验 56

6.6.2练习 56

7.2 SELECT语句介绍 59

7.2.1 SELECT语句 59

第三部分用查询创建有效的结果集第7章 数据库查询介绍 59

7.1什么是查询 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.2从其他用户表中选择数据 69

7.3.3 列的别名 69

7.6 自习 70

7.6.1 测验 70

7.6.2练习 70

7.5问与答 70

7.4小结 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.7 ALL和ANY操作符 80

8.3.6UNIQUE 80

8.4.1 AND 82

8.4连接符 82

8.4.2 OR 83

8.5 NOT操作符求逆条件 84

8.5.1不等性 84

8.5.2 NOT BETWEEN 85

8.5.3 NOT IN 85

8.5.4 NOT LIKE 86

8.5.5 IS NOT NULL 87

8.5.6 NOTEXISTS 87

8.5.7 NOT UNIQUE 88

8.6算术操作符 88

8.6.1加法 88

8.6.4除法 89

8.6.2减法 89

8.6.3乘法 89

8.6.5数学运算符的组合 90

8.7小结 90

8.8问与答 91

8.9 自习 91

8.9.1测验 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章 数据排序和分组 102

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

10.2 GROUP BY子句 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章 重新构造数据的表现形式 112

11.1 ANSI字符函数的概念 112

11.1.1 Concatenation(聚集) 112

11.1.2 Substring(子串) 112

11.1.3TRANSLATE(翻译) 112

11.1.4 CONVERT(转换) 112

11.1.5 POSITION(定位) 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.6SUBSTR 117

11.2.7 INSTR 118

11.2.8 LTRIM 119

11.2.9 RTRIM 120

11.2.10DECODE 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算术函数 124

11.3.6 ASCII 124

11.3.5看起来像什么? 124

11.5转换函数 125

11.5.1将字符串转换成数字 125

11.5.2将数字转换成字符串 126

11.6字符组合函数的概念 127

11.7小结 128

11.8问与答 128

11.9 自习 128

11.9.1测验 129

11.9.2练习 129

第12章 理解日期和时间 130

12.1 日期是怎样存储的 130

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

12.2 日期函数 131

12.2.1 当前日期 131

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

12.1.2 DATETIME元素 131

12.2.2时区 132

12.2.3将时间加到日期中 133

12.2.4比较日期段和时间段 134

12.2.5其他日期函数 135

12.3 日期转换 135

12.3.1 日期片段 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

第四部分创建复杂的数据库查询第13章 在查询中连接多张表 141

13.1从多张表中选择数据 141

13.2连接的类型 141

13.2.1连接条件的组件位置 142

13.2.2等号连接 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.5问与答 151

13.4小结 151

13.6.1 测验 152

13.6.2练习 152

13.6 自习 152

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

14.1什么是子查询? 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.5 自习 164

14.5.1 测验 164

14.4问与答 164

14.5.2练习 165

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

15.1单个查询与组合查询 167

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

15.3组合查询操作符 168

15.3.1 UNION操作符 168

15.3.2 UNION ALL操作符 170

15.3.3 INTERSECT操作符 171

15.3.4 EXCEPT操作符 172

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

15.5在组合查询中使用GROUPBY 175

子句 175

15.8问与答 177

15.7小结 177

15.6检索精确的数据 177

15.9 自习 178

15.9.1 测验 178

15.9.2练习 179

第五部分SQL性能调节 181

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

16.1什么是索引? 181

16.2索引是如何工作的? 181

16.3 CREATE INDEX命令 182

16.4索引的类型 182

16.4.1单列索引 182

16.4.2唯一索引 183

16.4.3复合索引 183

16.6何时避免使用索引 184

16.4.4单列索引和复合索引 184

16.5何时考虑使用索引 184

16.7小结 185

16.8问与答 186

16.9自习 186

16.9.1测验 186

16.9.2练习 186

第17章 提高数据库性能 187

17.1 什么是SQL语句的调节 187

17.2数据库调节和SQL调节 187

17.3格式化SQL语句 188

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

17.3.3连接条件的合理顺序 190

17.3.4最强限定条件 190

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

17.4全表浏览 192

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

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

17.5.2避免使用OR操作符 194

17.5.3避免使用HAVING子句 194

17.5.4避免大的排序操作 194

17.5.5使用存储过程 194

17.6小结 195

17.7问与答 195

17.8 自习 195

17.8.1测验 195

17.8.2练习 196

18.1用户是根本 199

第六部分使用SQL管理用户和安全第18章 管理数据库用户 199

18.1.1用户的类型 200

18.1.2谁来管理用户? 200

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

18.1.4用户与模式有何不同? 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.1测验 206

18.6.2练习 206

18.6 自习 206

第19章 管理数据库安全 207

19.1什么是数据库安全 207

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

19.3什么是特权 208

19.3.1系统特权 208

19.3.2对象特权 209

19.3.3谁来授予或收回特权 209

19.4控制用户访问 209

19.4.1 GRANT命令 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 WTTH CHECK OPTION 221

20.2.9从视图中创建表 222

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

20.2.5更新视图 222

20.2.7从视图中删除数据行 222

20.2.6向视图中插入数据行 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问与答 236

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.2练习 245

22.11.1测验 245

22.11 自习 245

22.10问与答 245

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

和Intranet 246

23.1 SQL和企业 246

23.1.1后端 246

23.1.2前端应用程序 247

23.2访问远程数据库 247

23.2.1 ODBC 248

23.2.2厂商的连接产品 248

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

23.4 SQL和Internet 249

23.6小结 250

23.4.3使用SQL的前端Web工具 250

23.5 SQL和Intranet 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

24.6 自习 257

24.6.1测验 257

24.6.2练习 258

第九部分 附 录 259

附录A 常用SQL命令 259

附录B ASCII码表 263

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

附录D 创建本书例子中的表的 283

CREATE TABLE语句 283

附录E 用于向本书例子中的表插入 285

数据的INSERT语句 285

附录F 术语对照表 290