《腦動力:SQL語言實務速查效率手冊》是一本講述SQL語言的書籍。該書內容全面、結構清晰、查詢方便,不僅全面地介紹了SQL語句,而且兼顧了其在SQL Server和Oracle資料庫產品中的實現。 該書共15章,分別介紹了SQL數據類型、數據表、視圖、約束、SQL函式、SQL查詢、數據處理、數據安全、存儲過程、觸發器、游標和嵌入式SQL等知識點,同時每個知識點都配合了詳細、豐富的示例進行講解,使讀者可以很輕鬆地學習本書內容。
基本介紹
- 書名:腦動力:SQL語言實務速查效率手冊
- 類型:計算機與網際網路
- 出版日期:2012年9月1日
- 語種:簡體中文
- ISBN:9787121176616
- 作者:王偉東 宋楠
- 出版社:電子工業出版社
- 頁數:409頁
- 開本:32
- 品牌:電子工業出版社
內容簡介,圖書目錄,
內容簡介
《腦動力:SQL語言實務速查效率手冊》語言簡潔,示例豐富,簡單易學,適合各種資料庫編程人員,尤其適合SQL的初學者使用,同時也是用於查詢SQL知識點的字典書。
圖書目錄
第1章資料庫系統與SQL基礎知識1
1.1資料庫系統基本概念1
1.1.1什麼是SQL1
1.1.2什麼是資料庫2
1.1.3什麼是資料庫管理系統2
1.2SQL基礎知識3
1.2.1SQL類型3
1.2.2在SQLserver中執行SQL語句4
1.2.3在oracle中執行SQL語句5
1.2.4在pl/SQLdeveloper工具中執行SQL語句6
1.2.5在mySQL中執行SQL語句8
第2章SQL中的數據類型和運算符10
2.1數值類型10
2.2字元串類型11
2.2.1可變長度的字元串類型——varchar、text12
2.2.2固定長度的字元串類型——char12
2.3日期類型12
2.4大對象數據類型——blob14
2.5布爾值——boolean15
2.6自定義數據類型15
2.7運算符17
2.7.1算術運算符17
2.7.2邏輯運算符20
2.7.3not運算符26
2.7.4in的使用29
2.7.5notin運算符30
第3章表和視圖的創建修改32
3.1創建數據表——createtable32
3.1.1設計實例表32
3.1.2創建數據表34
3.2修改數據表——altertable36
3.2.1為數據表添加列38
3.2.2修改列的數據類型39
3.2.3修改列的長度40
3.2.4設定或取消非空約束41
3.2.5刪除列42
3.3刪除數據表—droptable43
3.4創建視圖——createview44
3.4.1視圖概述45
3.4.2創建視圖的語句結構47
3.4.3從一個表創建視圖48
3.4.4從多個表創建視圖50
3.4.5從視圖創建視圖51
3.4.6創建視圖列的別名52
3.5修改視圖——alterview54
3.6通過視圖維護數據56
3.6.1向視圖中插入記錄56
3.6.2通過視圖更新數據58
3.6.3通過視圖刪除數據59
3.7刪除視圖——dropview60
第4章約束與規則61
4.1主鍵約束——primarykey61
4.1.1在創建表時設定單一列的主鍵約束61
4.1.2在創建表時設定聯合主鍵64
4.1.3在修改表時添加單一列的主鍵約束65
4.1.4在修改表時添加聯合主鍵67
4.1.5刪除主鍵約束67
4.2唯一約束——unique68
4.2.1在創建表時設定一列的唯一約束68
4.2.2在創建表時為多個列設定唯一約束70
4.2.3在創建表時為多個列設定共同的唯一約束71
4.2.4在修改表時添加一個列的唯一約束72
4.2.5在修改表時添加多個列的共同唯一約束72
4.3外鍵約束——foreignkey73
4.4非空約束75
4.5檢查約束——check77
4.6刪除和禁用約束79
4.7規則81
第5章數據操作84
5.1查詢語句84
5.1.1查詢語句的基本結構84
5.1.2select…from的使用87
5.1.3where子句的使用88
5.1.4使用distinct語句刪除重複結果信息90
5.1.5groupby子句的使用92
5.1.6having子句的使用95
5.1.7between的使用96
5.1.8模糊查詢的實現97
5.2數據的增加——insert103
5.2.1把數據直接插入表中103
5.2.2向數據表中添加多行數據107
5.2.3從其他表中添加數據108
5.2.4插入null值111
5.3數據的修改——update113
5.3.1更新某一列的數據113
5.3.2按條件更新數據114
5.3.3更改數據欄位中的null值116
5.3.4通過視圖更新數據117
5.4數據的刪除——delete119
5.4.1按條件刪除數據119
5.4.2通過視圖刪除表數據121
5.4.3刪除全部數據122
5.4.4使用truncatetable語句123
第6章函式125
6.1字元串函式125
6.1.1返回字元串中最左側字元的ascii函式——ascii125
6.1.2變換字元串函式——translate127
6.1.3用指定值替代null值函式——coalesce129
6.1.4左填充函式——lpad130
6.1.5右填充函式——rpad132
6.1.6查找字元串所在的位置函式——instr134
6.1.7獲取字元串長度的函式——length135
6.1.8轉換小寫字母函式——lower136
6.1.9轉換大寫字母函式——upper138
6.1.10替換字元串函式——replace139
6.1.11獲取字元串子串函式——substr141
6.1.12從左去除字元串中的字元函式——ltrim143
6.1.13從右去除字元串中的字元函式——rtrim144
6.1.14組合字元串函式——concat145
6.1.15判斷是否為空函式——nullif147
6.2日期函式149
6.2.1獲取當前日期的函式——current_date149
6.2.2獲取當前的日期和時間函式——current_timestamp、localtimestamp149
6.3數學函式151
6.3.1取絕對值函式——abs151
6.3.2餘弦函式——cos152
6.3.3求冪函式——power154
6.3.4四捨五入函式——round155
6.3.5正弦函式——sin158
6.3.6取平方根函式——sqrt函式159
6.3.7正切函式——tan160
6.4類型轉換函式——cast162
6.5聚合函式163
6.5.1求平均值函式——avg163
6.5.2求個數函式——count165
6.5.3求最大值函式——max166
6.5.4求最小值函式——min168
6.5.5求和函式——sum169
6.5.6聚合函式的組合使用170
6.6使用case值表達式171
第7章子查詢173
7.1子查詢簡單套用173
7.1.1子查詢概述173
7.1.2在多表中使用子查詢174
7.1.3在子查詢中使用聚合函式177
7.1.4使用any或all運算符179
7.2使用子查詢維護數據181
7.2.1子查詢在insert語句中的使用181
7.2.2子查詢在update語句中的使用182
7.2.3子查詢在delete語句中的使用184
7.3使用in語句的子查詢184
7.3.1簡單的in語句子查詢185
7.3.2使用in語句子查詢實現集合交運算185
7.3.3使用in語句子查詢實現集合差運算186
7.4使用exists語句的子查詢187
7.4.1簡單的exists語句子查詢187
7.4.2使用exists語句子查詢實現兩表交集189
7.4.3使用exists語句子查詢實現兩表並集190
7.4.4使用notexists的子查詢190
7.5相關子查詢191
7.5.1使用in語句子查詢引入相關子查詢191
7.5.2在having子句中使用相關子查詢192
7.6unique子查詢194
7.7嵌套子查詢195
第8章高級查詢197
8.1連線查詢197
8.1.1連線的概念197
8.1.2內連線199
8.1.3使用表的別名203
8.1.4自連線204
8.1.5自然連線205
8.1.6左外連線——leftouterjoin207
8.1.7右外連線——rightouterjoin210
8.1.8全外連線——fulljoin211
8.1.9在外連線中使用聚合函式213
8.2組合查詢215
8.2.1集合運算基礎215
8.2.2使用union組合查詢結果216
8.2.3使用union組合多個數據表219
8.2.4union與unionall組合套用220
8.2.5集合差/集合交運算——except/intersect223
第9章事務處理228
9.1事務概述228
9.1.1事務介紹228
9.1.2事務控制的必要性229
9.1.3事務的特性230
9.1.4事務的狀態231
9.1.5事務的分類232
9.1.6SQL中事務的執行232
9.2使用事務234
9.2.1開始事務——begintransaction234
9.2.2提交事務——commit238
9.2.3回滾事務——rollback241
9.2.4設定保存點——savepoint244
9.2.5回滾到保存點——rollbacktosavepoint247
9.3並發控制248
9.3.1並發操作的問題248
9.3.2事務隔離級別249
9.3.3設定事務的隔離級別250
第10章索引的使用261
10.1索引概述261
10.1.1索引介紹261
10.1.2索引的分類262
10.1.3索引的作用264
10.1.4索引的結構264
10.2索引的創建及使用266
10.2.1創建索引的語法結構266
10.2.2創建唯一索引268
10.2.3創建多欄位索引270
10.3刪除索引270
第11章資料庫的安全管理272
11.1SQL安全概述272
11.1.1SQL安全的重要意義272
11.1.2SQL安全的對象273
11.2用戶管理274
11.2.1創建用戶——createuser274
11.2.2修改用戶——alteruser276
11.2.3刪除用戶——dropuser278
11.2.4創建架構——createscheam278
11.2.5刪除架構——dropscheam280
11.3角色管理281
11.3.1創建角色——createrole282
11.3.2設定角色——setrole284
11.3.3刪除角色——droprole286
11.4許可權管理286
11.4.1授予許可權——grant287
11.4.2收回許可權——revoke288
11.4.3查詢許可權控制291
11.4.4插入許可權控制294
11.4.5修改許可權控制296
11.4.6刪除許可權控制299
11.5安全管理300
11.5.1SQLserver資料庫的安全管理300
11.5.2oracle資料庫的安全管理306
第12章存儲過程307
12.1理解存儲過程307
12.1.1存儲過程概述307
12.1.2存儲過程的優缺點308
12.2流程控制語句309
12.2.1SQLserver中的流程控制語句309
12.2.2oracle中的流程控制語句321
12.3創建存儲過程326
12.3.1創建存儲過程概述327
12.3.2創建帶有參數的存儲過程331
12.3.3創建帶返回參數的存儲過程333
12.4刪除存儲過程336
第13章觸發器337
13.1理解觸發器337
13.1.1觸發器概述337
13.1.2觸發器的優點338
13.2SQLserver中的觸發器套用339
13.2.1創建insert觸發器339
13.2.2update觸發器344
13.2.3delete觸發器349
13.2.4insteadof觸發器353
13.3oracle中的觸發器套用359
13.3.1創建insert觸發器359
13.3.2創建update觸發器363
13.3.3創建delete觸發器367
13.4禁用與啟用觸發器371
13.5刪除觸發器371
第14章游標373
14.1理解游標373
14.1.1游標概述373
14.1.2游標的作用及其套用374
14.2游標的簡單套用374
14.2.1創建游標375
14.2.2打開游標376
14.2.3關閉游標376
14.2.4釋放游標377
14.2.5使用游標378
14.2.6檢索游標378
14.3SQLserver中的游標套用381
14.3.1update可更新游標381
14.3.2delete可更新游標383
14.3.3@@cursor_rows全局變數的套用384
14.3.4@@fetch_status全局變數的套用385
14.3.5SQLserver中的游標管理386
14.4oracle中游標的套用388
14.4.1顯示游標388
14.4.2隱式游標390
14.4.3參數化游標392
14.4.4在游標中使用循環語句393
第15章嵌入式SQL的套用397
15.1嵌入式SQL介紹397
15.1.1直接調用SQL397
15.1.2SQL調用層接口(CLI)399
15.2嵌入式SQL的使用401
15.2.1嵌入式SQL401
15.2.2SQL通信區402
15.2.3主變數403
15.2.4在嵌入式SQL中使用SQL語句404
15.2.5在嵌入式SQL中使用游標407
1.1資料庫系統基本概念1
1.1.1什麼是SQL1
1.1.2什麼是資料庫2
1.1.3什麼是資料庫管理系統2
1.2SQL基礎知識3
1.2.1SQL類型3
1.2.2在SQLserver中執行SQL語句4
1.2.3在oracle中執行SQL語句5
1.2.4在pl/SQLdeveloper工具中執行SQL語句6
1.2.5在mySQL中執行SQL語句8
第2章SQL中的數據類型和運算符10
2.1數值類型10
2.2字元串類型11
2.2.1可變長度的字元串類型——varchar、text12
2.2.2固定長度的字元串類型——char12
2.3日期類型12
2.4大對象數據類型——blob14
2.5布爾值——boolean15
2.6自定義數據類型15
2.7運算符17
2.7.1算術運算符17
2.7.2邏輯運算符20
2.7.3not運算符26
2.7.4in的使用29
2.7.5notin運算符30
第3章表和視圖的創建修改32
3.1創建數據表——createtable32
3.1.1設計實例表32
3.1.2創建數據表34
3.2修改數據表——altertable36
3.2.1為數據表添加列38
3.2.2修改列的數據類型39
3.2.3修改列的長度40
3.2.4設定或取消非空約束41
3.2.5刪除列42
3.3刪除數據表—droptable43
3.4創建視圖——createview44
3.4.1視圖概述45
3.4.2創建視圖的語句結構47
3.4.3從一個表創建視圖48
3.4.4從多個表創建視圖50
3.4.5從視圖創建視圖51
3.4.6創建視圖列的別名52
3.5修改視圖——alterview54
3.6通過視圖維護數據56
3.6.1向視圖中插入記錄56
3.6.2通過視圖更新數據58
3.6.3通過視圖刪除數據59
3.7刪除視圖——dropview60
第4章約束與規則61
4.1主鍵約束——primarykey61
4.1.1在創建表時設定單一列的主鍵約束61
4.1.2在創建表時設定聯合主鍵64
4.1.3在修改表時添加單一列的主鍵約束65
4.1.4在修改表時添加聯合主鍵67
4.1.5刪除主鍵約束67
4.2唯一約束——unique68
4.2.1在創建表時設定一列的唯一約束68
4.2.2在創建表時為多個列設定唯一約束70
4.2.3在創建表時為多個列設定共同的唯一約束71
4.2.4在修改表時添加一個列的唯一約束72
4.2.5在修改表時添加多個列的共同唯一約束72
4.3外鍵約束——foreignkey73
4.4非空約束75
4.5檢查約束——check77
4.6刪除和禁用約束79
4.7規則81
第5章數據操作84
5.1查詢語句84
5.1.1查詢語句的基本結構84
5.1.2select…from的使用87
5.1.3where子句的使用88
5.1.4使用distinct語句刪除重複結果信息90
5.1.5groupby子句的使用92
5.1.6having子句的使用95
5.1.7between的使用96
5.1.8模糊查詢的實現97
5.2數據的增加——insert103
5.2.1把數據直接插入表中103
5.2.2向數據表中添加多行數據107
5.2.3從其他表中添加數據108
5.2.4插入null值111
5.3數據的修改——update113
5.3.1更新某一列的數據113
5.3.2按條件更新數據114
5.3.3更改數據欄位中的null值116
5.3.4通過視圖更新數據117
5.4數據的刪除——delete119
5.4.1按條件刪除數據119
5.4.2通過視圖刪除表數據121
5.4.3刪除全部數據122
5.4.4使用truncatetable語句123
第6章函式125
6.1字元串函式125
6.1.1返回字元串中最左側字元的ascii函式——ascii125
6.1.2變換字元串函式——translate127
6.1.3用指定值替代null值函式——coalesce129
6.1.4左填充函式——lpad130
6.1.5右填充函式——rpad132
6.1.6查找字元串所在的位置函式——instr134
6.1.7獲取字元串長度的函式——length135
6.1.8轉換小寫字母函式——lower136
6.1.9轉換大寫字母函式——upper138
6.1.10替換字元串函式——replace139
6.1.11獲取字元串子串函式——substr141
6.1.12從左去除字元串中的字元函式——ltrim143
6.1.13從右去除字元串中的字元函式——rtrim144
6.1.14組合字元串函式——concat145
6.1.15判斷是否為空函式——nullif147
6.2日期函式149
6.2.1獲取當前日期的函式——current_date149
6.2.2獲取當前的日期和時間函式——current_timestamp、localtimestamp149
6.3數學函式151
6.3.1取絕對值函式——abs151
6.3.2餘弦函式——cos152
6.3.3求冪函式——power154
6.3.4四捨五入函式——round155
6.3.5正弦函式——sin158
6.3.6取平方根函式——sqrt函式159
6.3.7正切函式——tan160
6.4類型轉換函式——cast162
6.5聚合函式163
6.5.1求平均值函式——avg163
6.5.2求個數函式——count165
6.5.3求最大值函式——max166
6.5.4求最小值函式——min168
6.5.5求和函式——sum169
6.5.6聚合函式的組合使用170
6.6使用case值表達式171
第7章子查詢173
7.1子查詢簡單套用173
7.1.1子查詢概述173
7.1.2在多表中使用子查詢174
7.1.3在子查詢中使用聚合函式177
7.1.4使用any或all運算符179
7.2使用子查詢維護數據181
7.2.1子查詢在insert語句中的使用181
7.2.2子查詢在update語句中的使用182
7.2.3子查詢在delete語句中的使用184
7.3使用in語句的子查詢184
7.3.1簡單的in語句子查詢185
7.3.2使用in語句子查詢實現集合交運算185
7.3.3使用in語句子查詢實現集合差運算186
7.4使用exists語句的子查詢187
7.4.1簡單的exists語句子查詢187
7.4.2使用exists語句子查詢實現兩表交集189
7.4.3使用exists語句子查詢實現兩表並集190
7.4.4使用notexists的子查詢190
7.5相關子查詢191
7.5.1使用in語句子查詢引入相關子查詢191
7.5.2在having子句中使用相關子查詢192
7.6unique子查詢194
7.7嵌套子查詢195
第8章高級查詢197
8.1連線查詢197
8.1.1連線的概念197
8.1.2內連線199
8.1.3使用表的別名203
8.1.4自連線204
8.1.5自然連線205
8.1.6左外連線——leftouterjoin207
8.1.7右外連線——rightouterjoin210
8.1.8全外連線——fulljoin211
8.1.9在外連線中使用聚合函式213
8.2組合查詢215
8.2.1集合運算基礎215
8.2.2使用union組合查詢結果216
8.2.3使用union組合多個數據表219
8.2.4union與unionall組合套用220
8.2.5集合差/集合交運算——except/intersect223
第9章事務處理228
9.1事務概述228
9.1.1事務介紹228
9.1.2事務控制的必要性229
9.1.3事務的特性230
9.1.4事務的狀態231
9.1.5事務的分類232
9.1.6SQL中事務的執行232
9.2使用事務234
9.2.1開始事務——begintransaction234
9.2.2提交事務——commit238
9.2.3回滾事務——rollback241
9.2.4設定保存點——savepoint244
9.2.5回滾到保存點——rollbacktosavepoint247
9.3並發控制248
9.3.1並發操作的問題248
9.3.2事務隔離級別249
9.3.3設定事務的隔離級別250
第10章索引的使用261
10.1索引概述261
10.1.1索引介紹261
10.1.2索引的分類262
10.1.3索引的作用264
10.1.4索引的結構264
10.2索引的創建及使用266
10.2.1創建索引的語法結構266
10.2.2創建唯一索引268
10.2.3創建多欄位索引270
10.3刪除索引270
第11章資料庫的安全管理272
11.1SQL安全概述272
11.1.1SQL安全的重要意義272
11.1.2SQL安全的對象273
11.2用戶管理274
11.2.1創建用戶——createuser274
11.2.2修改用戶——alteruser276
11.2.3刪除用戶——dropuser278
11.2.4創建架構——createscheam278
11.2.5刪除架構——dropscheam280
11.3角色管理281
11.3.1創建角色——createrole282
11.3.2設定角色——setrole284
11.3.3刪除角色——droprole286
11.4許可權管理286
11.4.1授予許可權——grant287
11.4.2收回許可權——revoke288
11.4.3查詢許可權控制291
11.4.4插入許可權控制294
11.4.5修改許可權控制296
11.4.6刪除許可權控制299
11.5安全管理300
11.5.1SQLserver資料庫的安全管理300
11.5.2oracle資料庫的安全管理306
第12章存儲過程307
12.1理解存儲過程307
12.1.1存儲過程概述307
12.1.2存儲過程的優缺點308
12.2流程控制語句309
12.2.1SQLserver中的流程控制語句309
12.2.2oracle中的流程控制語句321
12.3創建存儲過程326
12.3.1創建存儲過程概述327
12.3.2創建帶有參數的存儲過程331
12.3.3創建帶返回參數的存儲過程333
12.4刪除存儲過程336
第13章觸發器337
13.1理解觸發器337
13.1.1觸發器概述337
13.1.2觸發器的優點338
13.2SQLserver中的觸發器套用339
13.2.1創建insert觸發器339
13.2.2update觸發器344
13.2.3delete觸發器349
13.2.4insteadof觸發器353
13.3oracle中的觸發器套用359
13.3.1創建insert觸發器359
13.3.2創建update觸發器363
13.3.3創建delete觸發器367
13.4禁用與啟用觸發器371
13.5刪除觸發器371
第14章游標373
14.1理解游標373
14.1.1游標概述373
14.1.2游標的作用及其套用374
14.2游標的簡單套用374
14.2.1創建游標375
14.2.2打開游標376
14.2.3關閉游標376
14.2.4釋放游標377
14.2.5使用游標378
14.2.6檢索游標378
14.3SQLserver中的游標套用381
14.3.1update可更新游標381
14.3.2delete可更新游標383
14.3.3@@cursor_rows全局變數的套用384
14.3.4@@fetch_status全局變數的套用385
14.3.5SQLserver中的游標管理386
14.4oracle中游標的套用388
14.4.1顯示游標388
14.4.2隱式游標390
14.4.3參數化游標392
14.4.4在游標中使用循環語句393
第15章嵌入式SQL的套用397
15.1嵌入式SQL介紹397
15.1.1直接調用SQL397
15.1.2SQL調用層接口(CLI)399
15.2嵌入式SQL的使用401
15.2.1嵌入式SQL401
15.2.2SQL通信區402
15.2.3主變數403
15.2.4在嵌入式SQL中使用SQL語句404
15.2.5在嵌入式SQL中使用游標407