《SQL Server 2016從入門到精通》麵嚮SQL Server 2016初學者,以及廣大數據庫設計愛好者。全書內容注重實用、涉及麵廣,通俗易懂地介紹瞭SQL Server 2016數據庫應用與開發的相關基礎知識,提供瞭大量具體操作SQL Server 2016數據庫的示例,供讀者實踐。每節都清晰地闡述瞭代碼如何工作及作用,使讀者能在最短的時間內有效地掌握SQL Server 2016數據庫的應用。
《SQL Server 2016從入門到精通》共18章,內容包括SQL Server 2016的安裝與配置、數據庫的操作、數據錶的操作、Transact-SQL語言基礎、Transact-SQL語句的查詢與應用、認識函數、數據的更新、規則、默認和完整性約束、創建和使用索引、事務和鎖、遊標、使用存儲過程和自定義函數、視圖操作、觸發器、SQL Server 2016的安全機製、數據庫的備份與恢復,最後通過開發企業人事管理係統進一步學習SQL Server 2016在實際開發中的應用技術,並在大部分章節的最後提供典型習題,供讀者操作練習,加深理解。
《SQL Server 2016從入門到精通》幾乎涉及瞭SQL Server 2016數據庫應用與開發的所有重要知識,適閤所有的SQL Server 2016數據庫初學者快速入門,同時也適閤想全麵瞭解SQL Server 2016的數據庫開發人員閱讀。通過全書的學習,讀者可以完全掌握SQL Server 2016的技術要點並具備係統開發的基本技術。
王英英,資深大學教師,長期從事網頁編程、數據庫管理等方麵的教學培訓工作。
目 錄
第1章 初識SQL Server 2016 1
1.1 SQL Server 2016的新功能 1
1.2 SQL Server 2016的組成 3
1.2.1 SQL Server 2016數據庫引擎 3
1.2.2 分析服務 3
1.2.3 集成服務 4
1.2.4 報錶服務 4
1.3 如何選擇SQL Server 2016的版本 4
1.4 安裝SQL Server 2016 5
1.4.1 SQL Server 2016 安裝環境需求 5
1.4.2 安裝SQL Server 2016 5
1.4.3 SQL Server 2016常見實用程序 14
1.5 安裝SQL Server Management Studio 16
1.6 SSMS基本操作 18
1.6.1 SSMS的啓動與連接 18
1.6.2 使用模闆資源管理器、解決方案與項目腳本 20
1.6.3 配置SQL Server 2016服務器的屬性 22
1.6.4 查詢編輯器 30
1.7 本章小結 33
1.8 經典習題 33
第2章 數據庫的操作 34
2.1 數據庫組成 34
2.1.1 數據文件 35
2.1.2 日誌文件 35
2.2 係統數據庫 35
2.2.1 master數據庫 35
2.2.2 model數據庫 35
2.2.3 msdb數據庫 36
2.2.4 tempdb數據庫 36
2.3 創建數據庫 36
2.3.1 使用對象資源管理器創建數據庫 36
2.3.2 使用Transact-SQL創建數據庫 40
2.4 管理數據庫 43
2.4.1 修改數據庫 43
2.4.2 修改數據庫容量 44
2.4.3 增加數據庫容量 45
2.4.4 縮減數據庫容量 48
2.4.5 查看數據庫信息 48
2.4.6 數據庫更名 52
2.4.7 刪除數據庫 53
2.5 疑難解惑 54
2.6 經典習題 55
第3章 數據錶的操作 56
3.1 SQL Server 2016數據庫對象 56
3.2 創建數據錶 57
3.2.1 數據類型 58
3.2.2 使用對象資源管理器創建錶 68
3.2.3 使用Transact-SQL創建錶 69
3.3 管理數據錶 71
3.3.1 修改錶字段 71
3.3.2 修改錶約束 76
3.3.3 查看錶中有關信息 81
3.3.4 刪除錶 83
3.4 疑難解惑 84
3.5 經典習題 85
第4章 Transact-SQL語言基礎 86
4.1 Transact-SQL概述 86
4.1.1 什麼是Transact-SQL 87
4.1.2 T-SQL語法的約定 87
4.2 如何給標識符起名 89
4.3 常量 90
4.3.1 數字常量 90
4.3.2 字符串常量 91
4.3.3 日期和時間常量 91
4.3.4 符號常量 91
4.4 變 量 92
4.4.1 全局變量 92
4.4.2 局部變量 95
4.4.3 批處理和腳本 96
4.5 運算符和錶達式 97
4.5.1 算術運算符 98
4.5.2 比較運算符 98
4.5.3 邏輯運算符 99
4.5.4 連接運算符 99
4.5.5 按位運算符 99
4.5.6 運算符的優先級 99
4.5.7 什麼是錶達式 100
4.5.8 Transact-SQL錶達式的分類 100
4.6 Transact-SQL利器——通配符 101
4.7 Transact-SQL語言中的注釋 101
4.8 疑難解惑 102
4.9 經典習題 103
第5章 輕鬆掌握Transact-SQL語句 104
5.1 數據定義語句 104
5.1.1 CREATE的應用 104
5.1.2 DROP的功能 107
5.1.3 ALTER的功能 108
5.2 數據操作語句 110
5.2.1 數據的插入——INSERT 110
5.2.2 數據的更改——UPDATE 112
5.2.3 數據的刪除——DELETE 113
5.2.4 數據的查詢——SELECT 115
5.3 數據控製語句 123
5.3.1 授予權限操作——GRANT 123
5.3.2 拒絕權限操作——DENY 123
5.3.3 收迴權限操作——REVOKE 123
5.4 其他基本語句 124
5.4.1 數據聲明——DECLARE 124
5.4.2 數據賦值——SET 125
5.4.3 數據輸齣——PRINT 126
5.5 流程控製語句 126
5.5.1 BEGIN…END語句 127
5.5.2 IF…ELSE語句 127
5.5.3 CASE語句 128
5.5.4 WHILE語句 130
5.5.5 GOTO語句 132
5.5.6 WAITFOR語句 132
5.5.7 RETURN語句 133
5.6 批處理語句 134
5.7 疑難解惑 135
5.8 經典習題 135
第6章 認識函數 136
6.1 SQL Server 2016函數簡介 136
6.2 字符串函數 136
6.2.1 ASCII()函數 137
6.2.2 CHAR()函數 137
6.2.3 LEFT()函數 137
6.2.4 RIGHT()函數 138
6.2.5 LTRIM()函數 138
6.2.6 RTRIM()函數 139
6.2.7 STR()函數 139
6.2.8 字符串逆序的函數REVERSE(s) 140
6.2.9 計算字符串長度的函數LEN(str) 140
6.2.10 匹配子串開始位置的函數 141
6.2.11 SUBSTRING()函數 141
6.2.12 LOWER()函數 142
6.2.13 UPPER()函數 143
6.2.14 替換函數REPLACE(s,s1,s2) 143
6.3 數學函數 144
6.3.1 絕對值函數ABS(x)和返迴圓周率的函數PI() 144
6.3.2 平方根函數SQRT(x) 144
6.3.3 獲取隨機數的函數RAND()和RAND(x) 145
6.3.4 四捨五入函數ROUND(x,y) 146
6.3.5 符號函數SIGN(x) 146
6.3.6 獲取整數的函數CEILING(x)和FLOOR(x) 147
6.3.7 冪運算函數POWER(x,y)、SQUARE (x)和EXP(x) 148
6.3.8 對數運算函數LOG(x)和LOG10(x) 149
6.3.9 角度與弧度相互轉換的函數RADIANS(x)和DEGREES(x) 150
6.3.10 正弦函數SIN(x)和反正弦函數ASIN(x) 151
6.3.11 餘弦函數COS(x)和反餘弦函數ACOS(x) 152
6.3.12 正切函數、反正切函數和餘切函數 152
6.4 數據類型轉換函數 154
6.5 文本和圖像函數 155
6.5.1 TEXTPTR函數 155
6.5.2 TEXTVALID函數 155
6.6 日期和時間函數 156
6.6.1 獲取係統當前日期的函數GETDATE() 156
6.6.2 返迴UTC日期的函數GETUTCDATE() 156
6.6.3 獲取天數的函數DAY(d) 157
6.6.4 獲取月份的函數MONTH(d) 157
6.6.5 獲取年份的函數YEAR(d) 158
6.6.6 獲取日期中指定部分字符串值的函數DATENAME(dp,d) 158
6.6.7 獲取日期中指定部分的整數值的函數DATEPART(dp,d) 159
6.6.8 計算日期和時間的函數DATEADD(dp,num,d) 160
6.7 係統函數 160
6.7.1 返迴錶中指定字段的長度值 160
6.7.2 返迴錶中指定字段的名稱 161
6.7.3 返迴數據錶達式的數據的實際長度函數 161
6.7.4 返迴數據庫的編號 162
6.7.5 返迴數據庫的名稱 162
6.7.6 返迴當前數據庫默認的NULL值 163
6.7.7 返迴服務器端計算機的標識號 163
6.7.8 返迴服務器端計算機的名稱 164
6.7.9 返迴數據庫對象的編號 164
6.7.10 返迴用戶的SID 165
6.7.11 返迴用戶的登錄名 165
6.7.12 返迴數據庫對象的名稱 166
6.7.13 返迴數據庫用戶的標識號 166
6.7.14 返迴數據庫用戶名 167
6.8 疑難解惑 167
6.9 經典習題 168
第7章 Transact-SQL查詢 169
7.1 查詢工具的使用 169
7.1.1 編輯查詢 169
7.1.2 查詢結果的顯示方法 171
7.2 使用SELECT進行查詢 172
7.2.1 使用星號和列名 173
7.2.2 使用DISTINCT取消重復 175
7.2.3 使用TOP返迴前n行 176
7.2.4 修改列標題 176
7.2.5 在查詢結果集中顯示字符串 177
7.2.6 查詢的列為錶達式 178
7.3 使用WHERE子句進行條件查詢 179
7.3.1 使用關係錶達式查詢 179
7.3.2 使用BETWEEN AND錶示範圍 181
7.3.3 使用IN關鍵字 182
7.3.4 使用LIKE關鍵字 183
7.3.5 使用IS NULL查詢空值 187
7.3.6 使用EXISTS關鍵字 188
7.3.7 使用ORDER BY排序 190
7.3.8 使用GROUP BY分組 191
7.3.9 使用HAVING對分組結果過濾 193
7.3.10 使用UNION閤並查詢結果集 194
7.4 使用聚閤函數統計匯總 195
7.4.1 使用SUM()求列的和 196
7.4.2 使用AVG()求列平均值 196
7.4.3 使用MAX()求列最大值 198
7.4.4 使用MIN()求列最小值 199
7.4.5 使用COUNT()統計 200
7.5 嵌套查詢 202
7.5.1 使用比較運算符 202
7.5.2 使用IN關鍵字 203
7.5.3 使用ANY、SOME和ALL關鍵字 204
7.5.4 使用EXISTS關鍵字 205
7.6 多錶連接查詢 207
7.6.1 相等連接 207
7.6.2 不等連接 208
7.6.3 帶選擇條件的連接 209
7.6.4 自連接 209
7.7 外連接 210
7.7.1 左外連接 210
7.7.2 右外連接 211
7.7.3 全外連接 212
7.8 使用排序函數 212
7.9 動態查詢 215
7.10 疑難解惑 216
7.11 經典習題 216
第8章 數據的更新 219
8.1 插入數據——INSERT 219
8.1.1 插入單行數據 220
8.1.2 插入多行數據 223
8.2 修改數據——UPDATE 225
8.2.1 修改單行數據 225
8.2.2 修改多行數據 226
8.3 刪除數據——DELETE 227
8.3.1 刪除部分數據 227
8.3.2 刪除錶中所有數據 228
8.4 疑難解惑 229
8.5 經典習題 229
第9章 規則、默認和完整性約束 231
9.1 規則和默認概述 231
9.2 規則的基本操作 231
9.2.1 創建規則 231
9.2.2 把自定義規則綁定到列 232
9.2.3 驗證規則作用 233
9.2.4 取消規則綁定 233
9.2.5 刪除規則 234
9.3 默認的基本操作 234
9.3.1 創建默認 235
9.3.2 把自定義默認綁定到列 235
9.3.3 驗證默認作用 236
9.3.4 取消默認綁定 236
9.3.5 刪除默認值 237
9.4 完整性約束 237
9.4.1 主鍵約束 238
9.4.2 外鍵約束 241
9.4.3 唯一性約束 244
9.4.4 CHECK約束 245
9.4.5 DEFAULT約束 245
9.4.6 NOT NULL約束 245
9.5 疑難解惑 246
9.6 經典習題 246
第10章 創建和使用索引 247
10.1 索引的含義和特點 247
10.2 索引的分類 248
10.3 索引的設計原則 249
10.4 創建索引 250
10.4.1 使用對象資源管理器創建索引 250
10.4.2 使用T-SQL語句創建索引 251
10.5 管理和維護索引 254
10.5.1 顯示索引信息 254
10.5.2 重命名索引 256
10.5.3 刪除索引 257
10.6 疑難解惑 258
10.7 經典習題 259
第11章 事務和鎖 260
11.1 事務管理 260
11.1.1 事務的原理 261
11.1.2 事務管理的常用語句 262
11.1.3 事務的隔離級彆 262
11.1.4 事務的應用案例 263
11.2 鎖 265
11.2.1 鎖的內涵與作用 265
11.2.2 可鎖定資源與鎖的類型 266
11.2.3 死鎖 267
11.2.4 鎖的應用案例 269
11.3 疑難解惑 273
11.4 經典習題 273
第12章 遊標 274
12.1 認識遊標 274
12.1.1 遊標的概念 274
12.1.2 遊標的優點 274
12.1.3 遊標的分類 275
12.2 遊標的基本操作 276
12.2.1 聲明遊標 276
12.2.2 打開遊標 278
12.2.3 讀取遊標中的數據 278
12.2.4 關閉遊標 280
12.2.5 釋放遊標 280
12.3 遊標的運用 281
前 言
本書是麵嚮SQL Server 2016初學者的一本高質量的書籍。通過詳細的實用案例,讓讀者快速入門,再也不用為眼前的一堆數據而發愁,從而提高瞭工作效率。本書內容豐富全麵、圖文並茂、步驟清晰、通俗易懂,使讀者能理解SQL Server 2016的技術構成,並能解決實際生活或工作中的問題,真正做到知其然更知其所以然。通過重點的章節,條理清晰、係統全麵地介紹瞭讀者希望瞭解的知識,對SQL Server 2016有興趣的讀者,可以快速上手設計並使用SQL Server 2016。
本書注重實用,可操作性強,詳細講解瞭每一個SQL Server 2016知識點及操作方法和技巧,以下特色使得本書成為一本物超所值的好書。
本書特色
內容全麵:知識點由淺入深,涵蓋瞭所有SQL Server 2016的基礎知識點,由淺入深地掌握SQL Server 2016開發技術。
圖文並茂:注重操作,在介紹案例的過程中,每一個操作均有對應步驟和過程說明。這種圖文結閤的方式使讀者在學習過程中能夠直觀、清晰地看到操作的過程以及效果,便於讀者更快地理解和掌握。
易學易用:顛覆傳統“看”書的觀念,變成一本能“操作”的圖書。
案例豐富:把知識點融匯於係統的案例實訓當中,並且結閤綜閤案例進行講解和拓展,進而達到“知其然,並知其所以然”的效果。本書302個詳細例題和大量經典習題,能讓讀者在實戰應用中掌握SQL Server 2016的每一項技能。
提示技巧:本書對讀者在學習過程中可能會遇到的疑難問題以“提示”和“技巧”的形式進行瞭說明,以免讀者在學習的過程中走彎路。
贈送資源:隨書贈送精品視頻教學文件和PPT課件,以及其他參考材料,使本書真正體現“自學無憂”,令其物超所值。所有資源放網盤下載。
讀者對象
本書是一本完整介紹SQL Server 2016的教程,內容豐富、條理清晰、實用性強,適閤如下讀者學習使用:
● 對SQL Server 2016完全不瞭解或者有一定瞭解的初學者。
● 對數據庫有興趣,希望快速、全麵掌握SQL Server 2016的讀者。
● 對SQL Server 2016沒有任何經驗,想學習SQL Server 2016並進行應用開發的讀者。
鳴謝
本書作者王英英長期從事SQL Server 2016的培訓工作。參與本書編寫人員除瞭封麵署名人員以外,還有張翼、張工廠、陳偉光、鬍同夫、梁雲亮、劉海鬆、劉玉萍、孫若淞、王攀登、王維維、劉增傑、肖品、劉增産等人。雖然傾注瞭編者的努力,但由於水平有限、時間倉促,書中難免有錯漏之處,請讀者諒解。如果遇到問題或有意見和建議,敬請與我們聯係,我們將全力提供幫助。
編 者
2018年2月
這本書的封麵設計得挺抓人眼球的,色彩搭配很有活力,看得齣齣版方在包裝上下瞭功夫。不過,我最關心的還是內容深度和廣度。我一個初學者,希望能找到一本既能打好基礎,又不至於太枯燥的入門教材。市麵上關於SQL Server的書籍汗牛充棟,很多講的都是偏理論的,讀起來像教科書,晦澀難懂。我期待這本能夠用更貼近實戰的案例來闡述那些復雜的概念,比如索引的優化、存儲過程的編寫,最好能配上一些實際業務場景的模擬,這樣學起來纔有代入感。畢竟,學數據庫技術,最終還是要落地到解決實際問題上。如果它能把復雜的操作步驟圖文並茂地展現齣來,那對新手來說無疑是巨大的福音,能大大減少走彎路的時間。我對它在“精通”這個定位上的自我要求還是挺好奇的,希望它能真正觸及到一些中高級的技巧,不僅僅停留在CRUD的層麵。
評分說實話,我買書的時候有點衝動,主要是被“視頻教學超值版”這個標簽吸引瞭。現在這個時代,純文字的東西越來越難以抓住注意力瞭,尤其是在麵對技術這種需要動手操作的領域。我希望這個視頻資源是高質量的,而不是那種用PPT念稿子的敷衍之作。理想中的視頻教學,應該是講師對著真實的SQL Server Management Studio(SSMS)界麵進行一步步的操作演示,語速適中,邏輯清晰。對於像事務隔離級彆這種容易混淆的概念,視頻的動態展示效果肯定比純文字的描述要直觀得多。如果視頻裏還能穿插一些常見錯誤(比如死鎖)的排查過程,那就太棒瞭。我希望這些視頻是模塊化的,我可以根據自己的學習進度,隨時跳到需要加強的部分進行復習,而不是一個拖遝冗長的整體。畢竟,時間寶貴,學習效率纔是王道。
評分我最近在工作中接手瞭一個小項目,需要對現有數據庫進行性能調優,這讓我對SQL Server的查詢執行計劃産生瞭濃厚的興趣。所以,我對這本書中關於性能分析的部分抱有很高的期望。我希望它能深入剖析`SET STATISTICS IO`和`SET STATISTICS TIME`的輸齣結果的真正含義,而不是簡單地介紹它們是做什麼用的。真正有價值的內容,應該會講解如何解讀那些復雜的執行計劃圖形,比如哪裏齣現瞭隱式轉換,哪個操作符的代價最高,以及如何據此來重寫T-SQL語句。如果能提供一些“壞”查詢和“好”查詢的對比案例,並詳細解釋優化思路的轉變過程,那這本書的價值就不僅僅停留在入門層麵瞭。我期待它能提供一套係統的方法論,讓我從“能用”SQL過渡到“會用”SQL,甚至“用好”SQL。
評分作為一名資深的技術文檔閱讀者,我對書籍的排版和邏輯結構有著近乎苛刻的要求。一本好的技術書籍,章節之間的銜接應該是流暢且遞進的,而不是東一榔頭西一棒子的知識點堆砌。我非常看重目錄的閤理性,它是否能清晰地勾勒齣從基礎語法到高級特性的完整學習路徑。例如,在講到數據類型時,是否會對比不同類型的存儲效率和適用場景?在講到視圖和錶函數時,是否會明確指齣它們在性能和使用限製上的區彆?如果這本書在代碼示例的格式上能做到統一規範,注釋詳盡,並且所有示例代碼都能在官方文檔的純淨環境下順利運行,那絕對是加分項。我討厭那種示例代碼中夾雜著大量與主題無關的乾擾性字符的書籍,那會讓調試和學習過程充滿挫敗感。
評分我對數據庫的另一個重要關注點在於數據安全與維護。一個健壯的係統離不開定期的備份、恢復策略以及權限管理。我希望這本書在涉及到數據庫管理(DBA)職能的部分不會一帶而過。具體來說,我希望看到關於不同備份模式(完整、差異、日誌)的詳細對比,以及在特定業務場景下如何製定最高效的恢復點目標(RPO)。權限控製方麵,如何通過角色和用戶管理來實現最小權限原則,防止數據泄露,這些都是實際工作中必須掌握的技能。如果作者能分享一些在企業級環境中處理數據庫災備演練的經驗或者陷阱,那就更好瞭。技術固然重要,但如何保障數據的“活”和“安全”,纔是決定一個技術人員專業度的試金石。我希望這本書能在這方麵提供紮實、可操作的指導。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有