SQL Server 2017從零開始學

SQL Server 2017從零開始學

《SQL Server 2017從零開始學》2019年11月清華大學出版社出版的圖書,作者是李小威。

基本介紹

  • 書名:SQL Server  2017從零開始學
  • 作者:李小威
  • ISBN:9787302537267
  • 定價:89元
  • 出版社:清華大學出版社
  • 出版時間:2019.11
內容簡介,圖書目錄,

內容簡介

本書面向SQL Server 2017初學者,以及廣大資料庫設計愛好者。全書內容比較實用,涉及面廣,通俗易懂地介紹SQL Server 2017資料庫套用與開發的相關基礎知識,提供大量具體操作SQL Server 2017資料庫的示例,供讀者實踐。每節都清晰地闡述代碼如何工作及其作用,使讀者能在較短的時間內有效地掌握SQL Server 2017資料庫的套用。
本書共20章,內容包括SQL Server 2017的安裝與配置、Transact-SQL語言基礎、Transact-SQL語句的查詢與套用、資料庫的操作、數據表的操作、約束數據表中的數據、管理數據表中的數據、查詢數據表中的數據、數據表中的高級查詢、認識系統函式和自定義函式、視圖的創建與套用、事務和鎖的套用、索引的創建與套用、游標的創建與套用、存儲過程的創建與套用、觸發器的創建與套用、SQL Server 2017的安全機制、資料庫的備份與恢復、資料庫系統的自動化管理等,並在每章的最後提供典型習題,供讀者操作練習,加深理解。
本書幾乎涉及SQL Server 2017資料庫套用與開發的所有重要知識,適合所有的SQL Server 2017資料庫初學者快速入門,同時也適合想全面了解SQL Server 2017的資料庫開發人員閱讀。通過全書的學習,讀者可以完整地掌握SQL Server 2017的技術要點並具備系統開發的基本技術。

圖書目錄

第1章 初識SQL Server 2017 1
1.1 認識SQL Server 2017 1
1.1.1 SQL Server 2017新特點 1
1.1.2 SQL Server 2017的版本 2
1.2 SQL Server 2017的組件 3
1.2.1 SQL Server 2017的資料庫引擎 3
1.2.2 分析服務 4
1.2.3 集成服務 4
1.2.4 報表服務 4
1.3 SQL Server 2017的新增功能 4
1.3.1 資料庫引擎中的新增功能 4
1.3.2 集成服務中的新增功能 5
1.3.3 分析服務中的新增功能 6
1.3.4 報表服務中的新增功能 6
1.3.5 機器學習中的新增功能 7
1.3.6 主數據服務中的新增功能 7
1.4 疑難解答 8
1.5 經典習題 8
第2章 SQL Server 2017的安裝和配置 9
2.1 安裝SQL Server 2017 9
2.1.1 SQL Server 2017安裝環境需求 9
2.1.2 安裝SQL Server 2017 10
2.1.3 SQL Server 2017常見實用程式 18
2.2 安裝SQL Server Management Studio 20
2.3 SQL Server Management Studio基本操作 21
2.3.1 SSMS的啟動與連線 22
2.3.2 使用模板資源管理器 23
2.3.3 解決方案和項目腳本 24
2.3.4 配置伺服器的屬性 25
2.3.5 查詢編輯器的套用 32
2.4 疑難解惑 36
2.5 經典習題 36
第3章 Transact-SQL語言基礎 37
3.1 Transact-SQL概述 37
3.1.1 什麼是Transact-SQL 38
3.1.2 T-SQL語法的約定 38
3.1.3 標識符的命名規則 40
3.2 常量 41
3.2.1 數字常量 41
3.2.2 字元串常量 42
3.2.3 日期和時間常量 42
3.2.4 符號常量 42
3.3 變數 43
3.3.1 全局變數 43
3.3.2 局部變數 46
3.3.3 批處理和腳本 47
3.4 運算符和表達式 49
3.4.1 算術運算符 49
3.4.2 比較運算符 49
3.4.3 邏輯運算符 50
3.4.4 連線運算符 50
3.4.5 按位運算符 50
3.4.6 運算符的優先權 51
3.4.7 什麼是表達式 51
3.4.8 表達式的分類 51
3.5 Transact-SQL語言中的通配符 52
3.6 Transact-SQL語言中的注釋 53
3.7 疑難解惑 54
3.8 經典習題 54
第4章 Transact-SQL語句的套用 55
4.1 數據定義語句 55
4.1.1 創建對象CREATE語句 55
4.1.2 刪除對象DROP語句 59
4.1.3 修改對象ALTER語句 59
4.2 數據操作語句 61
4.2.1 數據插入INSERT語句 62
4.2.2 數據修改UPDATE語句 63
4.2.3 數據刪除DELETE語句 64
4.2.4 數據查詢SELECT語句 65
4.3 數據控制語句 67
4.3.1 授予許可權GRANT語句 67
4.3.2 收回許可權REVOKE語句 68
4.3.3 禁止許可權DENY語句 68
4.4 其他基本語句 69
4.4.1 數據聲明DECLARE語句 69
4.4.2 數據賦值SET語句 70
4.4.3 數據輸出PRINT語句 71
4.5 流程控制語句 71
4.5.1 BEGIN…END語句 71
4.5.2 IF…ELSE語句 72
4.5.3 CASE語句 73
4.5.4 WHILE語句 75
4.5.5 GOTO語句 76
4.5.6 WAITFOR語句 77
4.5.7 RETURN語句 78
4.6 批處理語句 78
4.7 疑難解惑 80
4.8 經典習題 80
第5章 資料庫的創建與管理 81
5.1 資料庫組成 81
5.1.1 數據檔案 82
5.1.2 日誌檔案 82
5.2 系統資料庫 82
5.2.1 master資料庫 83
5.2.2 model資料庫 83
5.2.3 msdb資料庫 83
5.2.4 tempdb資料庫 83
5.3 創建資料庫 83
5.3.1 使用SSMS創建資料庫 84
5.3.2 使用T-SQL語句創建資料庫 87
5.4 使用SSMS管理資料庫 90
5.4.1 修改資料庫的方法 90
5.4.2 修改資料庫的初始大小 91
5.4.3 增加資料庫的容量 92
5.4.4 縮減資料庫的容量 93
5.4.5 修改資料庫的名稱 93
5.5 使用T-SQL管理資料庫 94
5.5.1 ALTER DATABASE的語法結構 94
5.5.2 修改資料庫數據檔案的初始大小 95
5.5.3 使用T-SQL語句增加資料庫容量 95
5.5.4 使用T-SQL語句縮減資料庫容量 96
5.5.5 使用T-SQL語句修改資料庫名稱 97
5.6 查看資料庫信息 98
5.6.1 使用視圖 98
5.6.2 使用函式查看資料庫信息 98
5.6.3 使用系統存儲過程 100
5.6.4 使用SSMS查看資料庫信息 100
5.7 刪除資料庫 101
5.7.1 使用SSMS刪除資料庫 101
5.7.2 使用T-SQL語句刪除資料庫 102
5.8 疑難解惑 102
5.9 經典習題 103
第6章 數據表的創建與管理 104
6.1 認識資料庫對象 104
6.1.1 數據表 104
6.1.2 視圖 105
6.1.3 索引 105
6.1.4 存儲過程 105
6.1.5 觸發器 105
6.2 數據類型 106
6.2.1 基本數據類型 106
6.2.2 自定義數據類型 109
6.2.3 刪除自定義數據類型 111
6.3 創建數據表 113
6.3.1 在SSMS中創建數據表 113
6.3.2 使用T-SQL創建數據表 114
6.4 管理數據表 115
6.4.1 增加表欄位 116
6.4.2 修改表欄位 118
6.4.3 刪除表欄位 119
6.5 查看數據表 121
6.5.1 查看錶結構 121
6.5.2 查看錶信息 121
6.5.3 查看錶數據 122
6.5.4 查看錶關係 122
6.6 刪除數據表 123
6.6.1 以界面方式刪除數據表 123
6.6.2 使用T-SQL語句刪除數據表 124
6.7 疑難解惑 125
6.8 經典習題 125
第7章 約束數據表中的數據 127
7.1 認識數據表中的約束 127
7.2 主鍵約束 128
7.2.1 在創建表時添加主鍵約束 128
7.2.2 在現有表中添加主鍵約束 130
7.2.3 定義多欄位聯合主鍵約束 132
7.2.4 刪除主鍵約束 132
7.3 外鍵約束 133
7.3.1 在創建表時添加外鍵約束 133
7.3.2 在現有表中添加外鍵約束 135
7.3.3 刪除外鍵約束 136
7.4 默認值約束 137
7.4.1 在創建表時添加默認值約束 138
7.4.2 在現有表中添加默認值約束 139
7.4.3 刪除默認值約束 141
7.5 檢查約束 142
7.5.1 在創建表時添加檢查約束 142
7.5.2 在現有表中添加檢查約束 144
7.5.3 刪除檢查約束 145
7.6 唯一性約束 146
7.6.1 在創建表時添加唯一性約束 146
7.6.2 在現有表中添加唯一性約束 149
7.6.3 刪除唯一性約束 150
7.7 非空約束 151
7.7.1 在創建表時添加非空約束 151
7.7.2 在現有表中添加非空約束 152
7.7.3 刪除非空約束 153
7.8 使用SSMS管理數據表中的約束 153
7.8.1 使用SSMS管理主鍵約束 153
7.8.2 使用SSMS管理外鍵約束 155
7.8.3 使用SSMS管理默認值約束 158
7.8.4 使用SSMS管理檢查約束 160
7.8.5 使用SSMS管理唯一性約束 163
7.8.6 使用SSMS管理非空約束 165
7.9 疑難解惑 166
7.10 經典習題 166
第8章 管理數據表中的數據 168
8.1 使用INSERT語句插入數據 168
8.1.1 INSERT語句的語法規則 168
8.1.2 向表中所有欄位插入數據 169
8.1.3 向表中指定欄位插入數據 172
8.1.4 一次插入多行數據記錄 173
8.1.5 將查詢結果插入到表中 174
8.2 使用UPDATE語句修改數據 176
8.2.1 UPDATE語句的語法規則 177
10.1.4 使用ALL的子查詢 217
10.1.5 使用SOME的子查詢 217
10.1.6 使用EXISTS的子查詢 218
10.2 多表內連線查詢 220
10.2.1 笛卡兒積查詢 220
10.2.2 內連線的簡單查詢 221
10.2.3 相等內連線的查詢 221
10.2.4 不等內連線的查詢 222
10.2.5 特殊的內連線查詢 222
10.2.6 帶條件的內連線查詢 223
10.3 多表外連線查詢 223
10.3.1 認識外連線查詢 223
10.3.2 左外連線的查詢 224
10.3.3 右外連線的查詢 225
10.3.4 全外連線的查詢 225
10.4 動態查詢 226
10.5 疑難解惑 226
10.6 經典習題 227
第11章 系統函式與自定義函式 229
11.1 SQL Server 2017函式簡介 229
11.2 字元串函式 230
11.2.1 ASCII()函式 230
11.2.2 CHAR()函式 230
11.2.3 LEFT()函式 230
11.2.4 RIGHT()函式 231
11.2.5 LTRIM()函式 231
11.2.6 RTRIM()函式 232
11.2.7 STR()函式 232
11.2.8 REVERSE(s)函式 232
11.2.9 LEN(str)函式 233
11.2.10 CHARINDEX函式 233
11.2.11 SUBSTRING()函式 234
11.2.12 LOWER()函式 234
11.2.13 UPPER()函式 235
11.2.14 REPLACE(s,s1,s2)函式 235
11.3 數學函式 235
11.3.1 ABS(x)函式 236
11.3.2 PI()函式 236
11.3.3 SQRT(x) 函式 236
11.3.4 RAND()和RAND(x)函式 236
11.3.5 ROUND(x,y)函式 237
11.3.6 SIGN(x) 函式 237
11.3.7 CEILING(x)和FLOOR(x)函式 238
11.3.8 POWER(x,y)、SQUARE(x)和EXP(x)函式 238
11.3.9 LOG(x)和LOG10(x)函式 239
11.3.10 RADIANS(x)和DEGREES(x)函式 240
11.3.11 SIN(x)和ASIN(x)函式 240
11.3.12 COS(x)和ACOS(x)函式 241
11.3.13 TAN(x)、ATAN(x)與COT(x)函式 242
11.4 日期和時間函式 242
11.4.1 GETDATE()函式 243
11.4.2 UTCDATE()函式 243
11.4.3 DAY(d)函式 243
11.4.4 MONTH(d)函式 244
11.4.5 YEAR(d)函式 244
11.4.6 DATENAME(dp,d)函式 244
11.4.7 DATEPART(dp,d)函式 245
11.4.8 DATEADD(dp,num,d)函式 245
11.5 系統信息函式 246
11.5.1 COL_LENGTH(table,column)函式 246
11.5.2 COL_NAME (table_id,column_id)函式 247
11.5.3 DATALENGTH (expression)函式 247
11.5.4 DB_ID(database_name) 247
11.5.5 DB_NAME(database_id)函式 248
11.5.6 GETANSINULL()(database_name)函式 248
11.5.7 HOST_ID()函式 249
11.5.8 HOST_NAME()函式 249
11.5.9 OBJECT_ID()函式 249
11.5.10 SUSER_SID (login_name)函式 250
11.5.11 SUSER_SNAME()函式 250
11.5.12 OBJECT_NAME()函式 251
11.5.13 USER_ID(user)函式 251
11.5.14 USER_NAME(id)函式 251
11.6 數據類型轉換函式 252
11.6.1 CAST()函式 252
11.6.2 CONVERT()函式 252
11.7 文本和圖像函式 253
11.7.1 TEXTPTR函式 253
11.7.2 TEXTVALID函式 254
11.8 自定義函式 254
11.8.1 自定義函式的語法 254
11.8.2 創建標量函式 255
11.8.3 創建表值函式 257
11.8.4 修改自定義函式 260
11.8.5 刪除自定義函式 260
11.9 在SSMS中管理自定義函式 261
11.9.1 創建自定義函式 261
11.9.2 修改自定義函式 263
11.9.3 刪除自定義函式 263
11.10 疑難解惑 264
11.11 經典習題 264
第12章 視圖的創建與套用 266
12.1 什麼是視圖 266
12.1.1 視圖的概念 266
12.1.2 視圖的作用 267
12.1.3 視圖的分類 268
12.2 創建視圖 269
12.2.1 創建視圖的語法規則 269
12.2.2 在單表上創建視圖 270
12.2.3 在多表上創建視圖 272
12.3 修改視圖 273
12.3.1 修改視圖的語法規則 273
12.3.2 修改視圖的具體內容 273
12.3.3 重命名視圖的名稱 274
12.4 查看視圖信息 275
12.4.1 通過SSMS查看 275
12.4.2 使用系統存儲過程查看 276
12.5 通過視圖更新數據 277
12.5.1 通過視圖插入數據 277
12.5.2 通過視圖修改數據 279
12.5.3 通過視圖刪除數據 280
12.6 刪除視圖 281
12.6.1 刪除視圖的語法 281
12.6.2 刪除不用的視圖 282
12.7 在SSMS中管理視圖 282
12.7.1 創建視圖 282
12.7.2 修改視圖 284
12.7.3 刪除視圖 285
12.8 疑難解惑 285
12.9 經典習題 286
第13章 事務和鎖的套用 287
13.1 事務管理 287
13.1.1 事務的原理 288
13.1.2 事務管理的常用語句 289
13.1.3 事務的隔離級別 289
13.1.4 事務的套用實例 290
13.2 鎖的套用 292
13.2.1 鎖的內涵與作用 292
13.2.2 可鎖定資源與鎖的類型 293
13.2.3 死鎖的原因 294
13.2.4 鎖的套用實例 295
13.3 疑難解惑 299
13.4 經典習題 299
第14章 索引的創建和使用 300
14.1 什麼是索引 300
14.1.1 索引的作用 300
14.1.2 索引的優缺點 301
14.1.3 索引的分類 301
14.1.4 索引的設計準則 302
14.2 創建索引 303
14.2.1 創建索引的語法 303
14.2.2 創建聚集索引 305
14.2.3 創建非聚集索引 306
14.2.4 創建複合索引 306
14.3 修改索引 307
14.3.1 修改索引的語法 307
14.3.2 禁用啟用索引 307
14.3.3 重新生成索引 308
14.3.4 修改索引的名稱 309
14.4 查看索引 309
14.4.1 查看數據表中的索引 310
14.4.2 查看索引的統計信息 310
14.5 刪除索引 311
14.5.1 刪除索引的語法 311
14.5.2 刪除一個索引 312
14.5.3 同時刪除多個索引 313
14.6 在SSMS中管理索引 313
14.6.1 在SSMS中創建索引 313
14.6.2 在SSMS中查看索引 315
14.6.3 在SSMS中修改索引 316
14.6.4 在SSMS中刪除索引 317
14.7 疑難解惑 318
14.8 經典習題 319
第15章 游標的創建與套用 320
15.1 認識游標 320
15.1.1 游標的概念 320
15.1.2 游標的優點 321
15.1.3 游標的分類 321
15.2 游標的基本操作 322
15.2.1 聲明游標 322
15.2.2 打開游標 324
15.2.3 讀取游標 324
15.2.4 關閉游標 326
15.2.5 釋放游標 326
15.3 游標的運用 327
15.3.1 使用游標變數 327
15.3.2 用游標為變數賦值 328
15.3.3 改變游標中行的順序 329
15.3.4 使用游標修改數據 330
15.3.5 使用游標刪除數據 331
15.4 使用系統存儲過程查看游標屬性 332
15.4.1 查看伺服器游標的屬性 332
15.4.2 查看當前連線的伺服器游標屬性 334
15.4.3 查看伺服器游標結果集中的列屬性 336
15.4.4 查看伺服器游標被引用對象或基本表的屬性 337
15.5 疑難解惑 339
15.6 經典習題 339
第16章 存儲過程的創建與套用 340
16.1 認識存儲過程 340
16.1.1 存儲過程的優點 340
16.1.2 存儲過程的類型 341
16.2 創建存儲過程 342
16.2.1 創建存儲過程的語法 342
16.2.2 創建不帶參數的存儲過程 343
16.2.3 創建帶輸入參數的存儲過程 344
16.2.4 創建帶輸出參數的存儲過程 345
16.2.5 創建帶加密選項的存儲過程 346
16.3 執行存儲過程 346
16.3.1 執行存儲過程的語法 347
16.3.2 執行不帶參數的存儲過程 348
16.3.3 執行帶輸入參數的存儲過程 348
16.3.4 執行帶輸出參數的存儲過程 350
16.4 修改存儲過程 350
16.4.1 修改存儲過程的語法 350
16.4.2 修改存儲過程的內容 351
16.4.3 修改存儲過程的名稱 352
16.5 查看存儲過程 352
16.5.1 使用sp_helptext查看 352
16.5.2 使用sys.sql_modules查看 353
16.5.3 使用OBJECT_DEFINITION查看 353
16.6 刪除存儲過程 354
16.6.1 刪除存儲過程的語法 354
16.6.2 刪除不需要的存儲過程 354
16.7 在SSMS中管理存儲過程 355
16.7.1 在SSMS中創建存儲過程 356
16.7.2 在SSMS中執行存儲過程 357
16.7.3 在SSMS中修改存儲過程 358
16.7.4 在SSMS中重命名存儲過程 358
16.7.5 在SSMS中查看存儲過程信息 359
16.7.6 在SSMS中刪除存儲過程 360
16.8 疑難解惑 360
16.9 經典習題 361
第17章 觸發器的創建與套用 362
17.1 認識觸發器 362
17.1.1 觸發器的概念 362
17.1.2 觸發器的作用 363
17.1.3 觸發器的分類 363
17.2 創建觸發器 364
17.2.1 創建DML觸發器 364
17.2.2 創建DDL觸發器 369
17.2.3 創建登錄觸發器 371
17.3 修改觸發器 373
17.3.1 修改DML觸發器 373
17.3.2 修改DDL觸發器 374
17.3.3 修改登錄觸發器 375
17.4 管理觸發器 376
17.4.1 禁用觸發器 376
17.4.2 啟用觸發器 377
17.4.3 查看觸發器 378
17.4.4 刪除觸發器 379
17.4.5 重命名觸發器 379
17.5 認識其他觸發器 380
17.5.1 替代觸發器 380
17.5.2 嵌套觸發器 381
17.5.3 遞歸觸發器 382
17.6 在SSMS中管理觸發器 383
17.6.1 在SSMS中創建觸發器 383
17.6.2 在SSMS中修改觸發器 384
17.6.3 在SSMS中查看觸發器 385
17.6.4 在SSMS中刪除觸發器 385
17.7 疑難解惑 386
17.8 經典習題 386
第18章 數據安全相關對象的管理 387
18.1 與資料庫安全相關的對象 387
18.2 登錄賬戶的管理 389
18.2.1 創建登錄賬戶 389
18.2.2 修改登錄賬戶 391
18.2.3 刪除登錄賬戶 392
18.3 在SSMS中管理登錄賬戶 392
18.3.1 創建登錄賬戶 392
18.3.2 修改登錄賬戶 394
18.3.3 刪除登錄賬戶 395
18.4 SQL Server的角色管理 396
18.4.1 固定伺服器角色 396
18.4.2 資料庫角色 397
18.4.3 自定義資料庫角色 397
18.4.4 應用程式角色 400
18.4.5 將登錄指派到角色 402
18.4.6 將角色指派到多個登錄賬戶 402
18.5 SQL Server的許可權管理 404
18.5.1 認識許可權 404
18.5.2 授予許可權 404
18.5.3 拒絕許可權 406
18.5.4 撤銷許可權 407
18.6 疑難解惑 408
18.7 經典習題 408
第19章 資料庫的備份與恢復 409
19.1 認識資料庫的備份與恢復 409
19.1.1 資料庫的備份類型 410
19.1.2 資料庫的恢復模式 410
19.1.3 配置資料庫的恢復模式 411
19.2 資料庫的備份設備 412
19.2.1 資料庫的備份設備 412
19.2.2 創建資料庫備份設備 413
19.2.3 查看資料庫備份設備 414
19.2.4 刪除資料庫備份設備 415
19.3 資料庫的備份 416
19.3.1 完整備份與差異備份 416
19.3.2 檔案和檔案組備份 418
19.3.3 事務日誌的備份 420
19.4 資料庫的還原 421
19.4.1 還原資料庫的方式 421
19.4.2 還原前的注意事項 422
19.4.3 完整備份的還原 424
19.4.4 差異備份的還原 426
19.4.5 事務日誌備份的還原 427
19.4.6 檔案和檔案組備份的還原 428
19.5 在SSMS中備份還原資料庫 429
19.5.1 在SSMS中備份資料庫 429
19.5.2 還原資料庫備份檔案 430
19.5.3 還原檔案和檔案組備份 432
19.6 疑難解惑 433
19.7 經典習題 434
第20章 資料庫系統的自動化管理 435
20.1 認識SQL Server代理 435
20.1.1 什麼是SQL Server代理 435
20.1.2 設定SQL Server代理 436
20.1.3 啟動SQL Server代理 438
20.1.4 關閉SQL Server代理 438
20.2 SQL Server代理中的作業 440
20.2.1 創建一個作業 440
20.2.2 定義一個作業步驟 440
20.2.3 創建一個作業執行計畫 441
20.2.4 查看與管理作業 442
20.3 管理中的維護計畫 444
20.3.1 認識維護計畫 444
20.3.2 使用嚮導創建維護計畫 445
20.4 SQL Server代理中的警報 447
20.4.1 創建警報 447
20.4.2 查看警報 447
20.4.2 3 刪除警報 448
20.5 SQL Server代理中的操作員 449
20.5.1 創建操作員 449
20.5.2 使用操作員 450
20.6 疑難解惑 451
20.7 經典習題 451

相關詞條

熱門詞條

聯絡我們