午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

目錄 - 《精通SQL——結構化查詢語言詳解》 - 免費試讀 - book.csdn.ne...

 昵稱310935 2009-09-17

http://book.csdn.net/ 2007-1-11 15:37:00

第1章  數(shù)據(jù)庫與SQL基礎...... 1

1.1  數(shù)據(jù)庫的基本概念...... 1

1.1.1  數(shù)據(jù)庫的由來...... 1

1.1.2  數(shù)據(jù)庫系統(tǒng)的概念...... 3

1.2  數(shù)據(jù)庫系統(tǒng)的結構、組成及工作流程...... 3

1.2.1  數(shù)據(jù)庫的體系結構...... 3

1.2.2  數(shù)據(jù)庫系統(tǒng)的組成...... 4

1.2.3  數(shù)據(jù)庫的工作流程...... 5

1.3  數(shù)據(jù)庫的發(fā)展...... 6

1.3.1  第一代數(shù)據(jù)庫...... 7

1.3.2  第二代數(shù)據(jù)庫...... 7

1.3.3  新一代數(shù)據(jù)庫技術的研究和發(fā)展...... 7

1.4  關系數(shù)據(jù)庫...... 8

1.4.1  關系模型...... 8

1.4.2  Codd十二法則...... 9

1.4.3  范式...... 10

1.5  SQL語言基礎...... 11

1.5.1  SQL的歷史...... 11

1.5.2  SQL語言的組成...... 12

1.5.3  SQL語句的結構...... 13

1.5.4  SQL的優(yōu)點...... 13

1.5.5  SQL的執(zhí)行...... 14

1.6  SQL環(huán)境...... 15

1.6.1  環(huán)境...... 15

1.6.2  SQL的層次結構...... 15

1.6.3  客戶程序和服務程序系統(tǒng)...... 17

1.6.4  SQL環(huán)境中對象的命名規(guī)則...... 18

第2章  主要的關系數(shù)據(jù)庫與SQL... 21

2.1  SQL Server.. 21

2.1.1  SQL Server的結構...... 21

2.1.2  數(shù)據(jù)庫訪問標準化接口—ODBC.... 22

2.1.3  使用查詢分析器執(zhí)行SQL語句...... 22

2.2  Transact-SQL... 24

2.2.1  Transact-SQL 概述...... 24

2.2.2  Transact-SQL的主要組成...... 25

2.2.3  Transact-SQL的一些重要命令...... 26

2.3  Oracle數(shù)據(jù)庫...... 29

2.3.1  Oracle數(shù)據(jù)庫軟件組成...... 29

2.3.2  Oracle數(shù)據(jù)庫體系結構...... 29

2.3.3  Oracle數(shù)據(jù)庫系統(tǒng)結構...... 30

2.3.4  使用SQL*Plus執(zhí)行SQL語句...... 31

2.4  PL/SQL簡介...... 32

2.4.1  PL/SQL的特點...... 32

2.4.2  PL/SQL程序結構...... 33

第3章  創(chuàng)建、修改和刪除表...... 37

3.1  表的基礎知識...... 37

3.1.1  表的基本結構...... 37

3.1.2  表的種類...... 38

3.2  SQL數(shù)據(jù)類型...... 39

3.2.1  字符型數(shù)據(jù)...... 39

3.2.2  數(shù)字型數(shù)據(jù)...... 40

3.2.3  日期數(shù)據(jù)類型...... 41

3.2.4  二進制數(shù)據(jù)類型...... 43

3.2.5  文本和圖形數(shù)據(jù)類型...... 44

3.2.6  自定義數(shù)據(jù)類型...... 44

3.3  表的創(chuàng)建(CREATE)...... 46

3.3.1  創(chuàng)建基本表...... 46

3.3.2  非空約束...... 47

3.3.3  DEFAULT指定缺省值...... 49

3.4  表的修改...... 50

3.4.1  增加新列...... 50

3.4.2  刪除列...... 51

3.4.3  修改列...... 53

3.5  表的刪除與重命名...... 55

3.5.1  重命名表...... 55

3.5.2  刪除表...... 56

3.6  創(chuàng)建、刪除數(shù)據(jù)庫...... 56

3.6.1  數(shù)據(jù)庫的創(chuàng)建...... 56

3.6.2  SQL Server中數(shù)據(jù)庫的創(chuàng)建...... 57

3.6.3  刪除數(shù)據(jù)庫...... 58

第4章  索引與視圖的創(chuàng)建...... 61

4.1  索引的基礎知識...... 61

4.1.1  索引的概念...... 61

4.1.2  索引的結構...... 61

4.2  索引的創(chuàng)建與銷毀...... 63

4.2.1  基本創(chuàng)建語法...... 63

4.2.2  本章實例用到的實例表...... 64

4.2.3  創(chuàng)建簡單的非簇索引...... 66

4.2.4  多字段非簇索引的創(chuàng)建...... 69

4.2.5  使用UNIQUE關鍵字創(chuàng)建惟一索引...... 70

4.2.6  使用CLUSTERDE關鍵字創(chuàng)建簇索引...... 71

4.2.7  索引的銷毀...... 73

4.2.8  使用索引的幾點原則...... 73

4.3  視圖的基礎知識...... 74

4.3.1  視圖簡介...... 74

4.3.2  視圖的優(yōu)缺點...... 74

4.4  視圖的創(chuàng)建與銷毀...... 75

4.4.1  基本創(chuàng)建語法...... 75

4.4.2  創(chuàng)建簡單的視圖...... 75

4.4.3  利用視圖簡化表的復雜連接...... 78

4.4.4  利用視圖簡化復雜查詢...... 79

4.4.5  視圖的銷毀...... 81

4.4.6  使用視圖的幾點原則...... 82

第5章  簡單的查詢...... 83

5.1  查詢的基本結構...... 83

5.1.1  SELECT語句的結構...... 83

5.1.2  SELECT語句的執(zhí)行步驟...... 84

5.2  列的查詢...... 84

5.2.1  本章用到的實例表...... 85

5.2.2  單列查詢...... 85

5.2.3  使用DISTINCT去除重復信息...... 86

5.2.4  多列查詢...... 87

5.2.5  查詢所有的列...... 88

5.3  排序查詢結果...... 89

5.3.1  單列排序...... 89

5.3.2  多列排序...... 90

5.3.3  采用序號進行多列排序...... 91

5.3.4  反向排序...... 92

5.4  使用WHERE子句定義搜索條件查詢...... 93

5.4.1  WHERE子句單條件查詢...... 93

5.4.2  單值比較運算符...... 94

5.4.3  BETWEEN運算符范圍篩選...... 96

5.4.4  NULL值的判斷...... 97

第6章  復雜搜索條件查詢...... 99

6.1  本章用到的實例表...... 99

6.2  組合查詢條件...... 100

6.2.1  AND運算符...... 100

6.2.2  OR運算符...... 101

6.2.3  AND、OR運算符的組合使用...... 103

6.3  IN運算符...... 104

6.3.1  IN運算符的使用...... 104

6.3.2  IN運算符與OR運算符...... 105

6.4  NOT運算符...... 106

6.4.1  使用NOT運算符...... 106

6.4.2  NOT運算符與<>運算符...... 108

6.5  使用LIKE進行模糊查詢...... 109

6.5.1  LIKE運算符...... 109

6.5.2  “%”通配符...... 110

6.5.3  “_”通配符...... 112

6.5.4  “[]”通配符...... 114

6.5.5  使用ESCAPE定義轉義符...... 115

第7章  連接符、數(shù)值運算與函數(shù)...... 117

7.1  本章實例用到的表...... 117

7.2  連接符...... 118

7.2.1  連接符的應用...... 118

7.2.2  使用別名...... 119

7.3  數(shù)值運算...... 121

7.3.1  數(shù)學運算符的種類...... 121

7.3.2  數(shù)學運算符的運用...... 122

7.3.3  使用CAST表達式轉換數(shù)據(jù)類型...... 123

7.3.4  使用CASE表達式...... 124

7.4  函數(shù)...... 126

7.4.1  有關函數(shù)的說明...... 126

7.4.2  字符處理函數(shù)...... 126

7.4.3  算術運算函數(shù)...... 131

7.4.4  日期時間函數(shù)...... 133

7.4.5  CONVERT()函數(shù)轉換日期、時間...... 136

第8章  聚合分析與分組...... 139

8.1  聚合分析的基本概念...... 139

8.1.1  聚合分析...... 139

8.1.2  聚合函數(shù)...... 139

8.2  聚合函數(shù)的應用...... 140

8.2.1  求和函數(shù)—SUM().. 140

8.2.2  計數(shù)函數(shù)—COUNT().. 140

8.2.3  最大/最小值函數(shù)—MAX()/MIN().. 143

8.2.4  均值函數(shù)—AVG().. 145

8.2.5  聚合分析的重值處理...... 147

8.2.6  聚合函數(shù)的組合使用...... 148

8.3  組合查詢...... 148

8.3.1  GROUP BY子句創(chuàng)建分組...... 149

8.3.2  GROUP BY子句根據(jù)多列組合行...... 150

8.3.3  ROLLUP運算符和CUBE運算符...... 151

8.3.4  GROUP BY子句中的NULL值處理...... 153

8.3.5  HAVING子句...... 153

8.3.6  HAVING子句與WHERE子句...... 154

8.3.7  SELECT語句各查詢子句總結...... 156

第9章  多表查詢...... 157

9.1  本章用到的實例表...... 157

9.2  表的基本連接...... 158

9.2.1  連接表的目的...... 158

9.2.2  簡單的二表連接...... 159

9.2.3  多表連接...... 161

9.2.4  使用表別名...... 162

9.2.5  采用JOIN關鍵字建立連接...... 163

9.3  表的連接類型...... 163

9.3.1  自連接...... 163

9.3.2  自然連接(NATURAL JOIN)...... 166

9.3.3  內(nèi)連接(INNER JOIN)...... 167

9.3.4  外連接(OUTER JOIN)...... 170

9.3.5  交叉連接(CROSS JOIN)...... 176

9.4  UNION與UNION JOIN.... 177

9.4.1  關系的集合運算...... 177

9.4.2  UNION運算符...... 178

9.4.3  ORDER BY子句排序UNION運算結果...... 180

9.4.4  對多表進行UNION運算...... 181

9.4.5  UNION JOIN 連接表...... 183

9.5  表連接的其他應用及注意問題...... 183

9.5.1  連接表進行聚合運算...... 183

9.5.2  多表連接的綜合運用...... 185

9.5.3  多表連接注意事項...... 186

第10章  子查詢...... 187

10.1  創(chuàng)建和使用返回單值的子查詢...... 187

10.1.1  在多表查詢中使用子查詢...... 187

10.1.2  在子查詢中使用聚合函數(shù)...... 188

10.2  創(chuàng)建和使用返回多行的子查詢...... 190

10.2.1  IN子查詢...... 190

10.2.2  IN子查詢實現(xiàn)集合交和集合差運算...... 191

10.2.3  EXISTS子查詢...... 192

10.2.4  EXISTS子查詢實現(xiàn)兩表交集...... 194

10.2.5  SOME/ALL子查詢...... 195

10.2.6  UNIQUE子查詢...... 197

10.3  相關子查詢...... 198

10.3.1  使用IN引入相關子查詢...... 198

10.3.2  比較運算符引入相關子查詢...... 200

10.3.3  在HAVING子句中使用相關子查詢...... 201

10.4  嵌套子查詢...... 203

10.5  使用子查詢創(chuàng)建視圖...... 204

10.6  樹查詢...... 205

第11章  數(shù)據(jù)插入操作...... 209

11.1  插入單行記錄...... 209

11.1.1  基本語法...... 209

11.1.2  整行插入...... 209

11.1.3  NULL值的插入...... 211

11.1.4  惟一值的插入...... 212

11.1.5  特定字段數(shù)據(jù)插入...... 213

11.1.6  通過視圖插入行...... 214

11.2  插入多行記錄...... 216

11.2.1  由VALUES關鍵字引入多行數(shù)據(jù)插入...... 217

11.2.2  使用SELECT語句插入值...... 217

11.3  表中數(shù)據(jù)的復制...... 220

11.3.1  基本語法...... 221

11.3.2  應用實例...... 221

11.4  從外部數(shù)據(jù)源導入、導出數(shù)據(jù)...... 222

11.4.1  Access數(shù)據(jù)庫數(shù)據(jù)的導出...... 223

11.4.2  Access數(shù)據(jù)庫數(shù)據(jù)的導入...... 225

11.4.3  SQL Server數(shù)據(jù)庫數(shù)據(jù)導出...... 227

11.4.4  SQL Server數(shù)據(jù)庫數(shù)據(jù)導入...... 230

第12章  數(shù)據(jù)的更新和刪除...... 233

12.1  更新表中的數(shù)據(jù)...... 233

12.1.1  UPDATE語句的基本語法...... 233

12.1.2  UPDATE語句更新列值...... 234

12.1.3  利用子查詢更新多行的值...... 237

12.1.4  依據(jù)外表值更新數(shù)據(jù)...... 238

12.1.5  分步更新表...... 239

12.2  刪除表中的數(shù)據(jù)...... 240

12.2.1  DELETE語句基本語法...... 240

12.2.2  DELETE語句刪除單行數(shù)據(jù)...... 240

12.2.3  DELETE語句刪除多行數(shù)據(jù)...... 241

12.2.4  DELETE語句刪除所有行...... 242

12.2.5  TRUNCATE TABLE語句...... 242

12.3  通過視圖更新表...... 243

12.3.1  可更新視圖的約束...... 243

12.3.2  通過視圖更新表數(shù)據(jù)...... 243

12.3.3  通過視圖刪除表數(shù)據(jù)...... 245

第13章  安全性控制...... 249

13.1  SQL安全模式...... 249

13.1.1  授權ID.... 249

13.1.2  SQL的安全對象和權限...... 250

13.1.3  授權圖...... 251

13.2  角色管理...... 251

13.2.1  CREATE語句創(chuàng)建角色...... 252

13.2.2  DROP語句刪除角色...... 252

13.2.3  GRANT語句授予角色...... 252

13.2.4  REVOKE語句取消角色...... 253

13.3  權限管理...... 254

13.3.1  GRANT語句授予權限...... 254

13.3.2  REVOKE語句取消權限...... 255

13.3.3  SELECT權限控制...... 256

13.3.4  INSERT權限控制...... 258

13.3.5  UPDATE權限控制...... 258

13.3.6  DELETE權限控制...... 259

13.4  SQL Server安全管理...... 260

13.4.1  SQL Server登錄認證...... 260

13.4.2  SQL Server用戶ID的管理...... 261

13.4.3  SQL Server權限管理...... 263

13.4.4  SQL Server角色管理...... 266

13.5  Oracle安全管理...... 268

13.5.1  Oracle中用戶、資源、概要文件、模式的概念...... 269

13.5.2  Oracle中的用戶管理...... 269

13.5.3  Oracle中的資源管理...... 274

13.5.4  Oracle中的權限管理...... 277

13.5.5  Oracle中的角色管理...... 278

第14章  完整性控制...... 281

14.1  完整性約束簡介...... 281

14.1.1  數(shù)據(jù)的完整性...... 281

14.1.2  完整性約束的類型...... 281

14.2  與表有關的約束...... 282

14.2.1  列約束與表約束的創(chuàng)建...... 282

14.2.2  NOT NULL(非空)約束...... 282

14.2.3  UNIQUE(惟一)約束...... 284

14.2.4  PRIMARY KEY(主鍵)約束...... 285

14.2.5  FOREIGN KEY(外鍵)約束...... 287

14.2.6  CHECK(校驗)約束...... 289

14.3  深入探討外鍵與完整性檢查...... 290

14.3.1  引用完整性檢查...... 290

14.3.2  MATCH子句...... 291

14.3.3  更新、刪除操作規(guī)則...... 293

14.4  域約束與斷言...... 295

14.4.1  域與域約束...... 295

14.4.2  利用斷言創(chuàng)建多表約束...... 296

14.5  SQL Server中的完整性控制...... 296

14.5.1  創(chuàng)建規(guī)則(Rule)...... 297

14.5.2  規(guī)則的綁定與松綁...... 298

14.5.3  創(chuàng)建缺省值(Default)...... 299

14.5.4  缺省值的綁定與松綁...... 300

第15章  存儲過程與函數(shù)...... 303

15.1  SQL中的存儲過程與函數(shù)...... 303

15.2  SQL Server 中的流控制語句...... 304

15.2.1  BEGIN…END語句...... 304

15.2.2  IF…ELSE語句...... 304

15.2.3  WHILE、BREAK和CONTINUE語句...... 304

15.2.4  DECLARE語句...... 306

15.2.5  GOTO label語句...... 306

15.2.6  RETURN語句...... 307

15.2.7  WAITFOR語句...... 307

15.2.8  PRINT語句...... 308

15.2.9  注釋...... 308

15.3  SQL Server中的存儲過程和函數(shù)...... 308

15.3.1  系統(tǒng)存儲過程...... 308

15.3.2  使用CREATE PROCEDURE創(chuàng)建存儲過程...... 309

15.3.3  使用EXECUTE語句調(diào)用存儲過程...... 310

15.3.4  使用CREATE FUNCTION創(chuàng)建函數(shù)...... 312

15.3.5  使用Enterprise Manager創(chuàng)建存儲過程和函數(shù)...... 315

15.3.6  修改和刪除存儲過程和函數(shù)...... 317

15.4  Oracle中的流控制語句...... 319

15.4.1  條件語句...... 319

15.4.2  循環(huán)語句...... 320

15.4.3  標號和GOTO.... 322

15.5  Oracle數(shù)據(jù)庫中的存儲過程...... 322

15.5.1  存儲過程的創(chuàng)建與調(diào)用...... 322

15.5.2  Oracle中存儲過程和函數(shù)的管理...... 324

第16章  SQL觸發(fā)器...... 325

16.1  觸發(fā)器的基本概念...... 325

16.1.1  觸發(fā)器簡介...... 325

16.1.2  觸發(fā)器執(zhí)行環(huán)境...... 325

16.2  SQL Server中的觸發(fā)器...... 326

16.2.1  SQL Server觸發(fā)器的種類...... 326

16.2.2  使用CREATE TRIGGER命令創(chuàng)建觸發(fā)器...... 326

16.2.3  INSERT觸發(fā)器...... 328

16.2.4  DELETE觸發(fā)器...... 329

16.2.5  UPDATE觸發(fā)器...... 330

16.2.6  INSTEAD OF觸發(fā)器...... 332

16.2.7  嵌套觸發(fā)器...... 334

16.2.8  遞歸觸發(fā)器...... 336

16.2.9  SQL Server中觸發(fā)器的管理...... 338

16.3  Oracle數(shù)據(jù)庫中觸發(fā)器的操作...... 340

16.3.1  Oracle觸發(fā)器類型...... 340

16.3.2  觸發(fā)器的創(chuàng)建...... 341

16.3.3  創(chuàng)建系統(tǒng)觸發(fā)器...... 342

16.3.4  觸發(fā)器的觸發(fā)次序和觸發(fā)謂詞的使用...... 343

16.3.5  Oracle觸發(fā)器的管理...... 346

第17章  SQL中游標的使用...... 349

17.1  SQL游標的基本概念...... 349

17.1.1  游標的概念...... 349

17.1.2  游標的作用及其應用...... 350

17.2  SQL游標的使用...... 351

17.2.1  使用DECLARE CURSOR語句創(chuàng)建游標...... 351

17.2.2  使用OPEN/CLOSE語句打開/關閉游標...... 352

17.2.3  使用FETCH語句檢索數(shù)據(jù)...... 352

17.2.4  基于游標的定位DELETE語句...... 354

17.2.5  基于游標的定位UPDATE語句...... 356

17.3  SQL Server中游標的擴展...... 357

17.3.1  Transact_SQL擴展DECLARE CURSOR語法...... 357

17.3.2  @@CURSOR_ROWS全局變量確定游標的行數(shù)...... 359

17.3.3  @@FETCH_STATUS全局變量檢測FETCH操作的狀態(tài)...... 360

17.3.4  游標的關閉與釋放...... 361

17.3.5  游標變量...... 362

17.3.6  使用系統(tǒng)過程管理游標...... 363

17.4  Oracle中游標的使用...... 365

17.4.1  顯式游標與隱式游標...... 365

17.4.2  游標的屬性...... 366

17.4.3  %TYPE、%ROWTYPE定義記錄變量...... 367

17.4.4  參數(shù)化游標...... 368

17.4.5  游標中的循環(huán)...... 369

17.4.6  游標變量...... 371

17.5  小結...... 372

第18章  事務控制與并發(fā)處理...... 373

18.1  SQL事務控制...... 373

18.1.1  事務控制的引入...... 373

18.1.2  事務的特性...... 373

18.1.3  SQL中與事務有關的語句...... 374

18.2  事務控制的具體實現(xiàn)...... 376

18.2.1  開始事務...... 376

18.2.2  SET CONSTRAINTS語句設置約束的延期執(zhí)行...... 377

18.2.3  終止事務...... 378

18.3  并發(fā)控制...... 380

18.3.1  并發(fā)操作的問題...... 381

18.3.2  事務隔離級別...... 382

18.3.3  SET TRANSACTION設置事務屬性...... 383

18.4  SQL Server中的并發(fā)事務控制...... 384

18.4.1  鎖的分類...... 384

18.4.2  SQL Server中表級鎖的使用...... 385

18.4.3  設置隔離級別實現(xiàn)并發(fā)控制...... 387

18.4.4  死鎖及其預防...... 391

18.5  Oracle中的并發(fā)事務控制...... 393

18.5.1  通過加鎖避免寫數(shù)據(jù)丟失...... 393

18.5.2  設置只讀事務(READ ONLY)...... 394

18.5.3  Oracle中的隔離級別...... 395

第19章  嵌入式SQL... 397

19.1  SQL的調(diào)用...... 397

19.1.1  直接調(diào)用SQL... 397

19.1.2  嵌入式SQL... 398

19.1.3  SQL調(diào)用層接口(CLI)...... 399

19.2  嵌入式SQL的使用...... 401

19.2.1  創(chuàng)建嵌入式SQL語句...... 401

19.2.2  SQL通信區(qū)...... 402

19.2.3  主變量...... 404

19.2.4  嵌入式SQL中使用游標...... 406

19.3  檢索、操作SQL數(shù)據(jù)...... 407

19.3.1  不需要游標的SQL DML操作...... 407

19.3.2  使用游標的SQL DML操作...... 410

19.3.3  動態(tài)SQL技術...... 412

19.4  SQL Server中嵌入式SQL的編譯運行...... 413

19.4.1  嵌入式SQL代碼...... 413

19.4.2  預編譯文件...... 415

19.4.3  設置Visual C++ 6.0連接...... 417

19.4.4  編譯運行程序...... 419

19.5  Oracle中嵌入式SQL的編譯運行...... 420

19.5.1  嵌入式SQL代碼...... 420

19.5.2  預編譯文件...... 421

19.5.3  設置Visual C++ 6.0編譯環(huán)境...... 423

19.5.4  編譯運行程序...... 424

附錄A  SQL保留字...... 427

附錄B  常用的SQL命令...... 431

附錄C  關于運行環(huán)境的說明...... 435

C.1  SQL Server 2000... 435

C.1.1  直接訪問...... 435

C.1.2  從企業(yè)管理器訪問...... 436

C.2  Oracle系統(tǒng)...... 436

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多