SQL入門與實踐(微課視頻版)

宋娟

  • 出版商: 清華大學
  • 出版日期: 2024-12-01
  • 定價: $539
  • 售價: 8.5$458
  • 語言: 簡體中文
  • ISBN: 7302673020
  • ISBN-13: 9787302673026
  • 相關分類: SQL
  • 下單後立即進貨 (約4週~6週)

  • SQL入門與實踐(微課視頻版)-preview-1
  • SQL入門與實踐(微課視頻版)-preview-2
  • SQL入門與實踐(微課視頻版)-preview-3
SQL入門與實踐(微課視頻版)-preview-1

相關主題

商品描述

"SQL作為操作數據庫的標準語言,可以用於執行查詢、管理數據、控制數據庫結構等多種任務,在數據庫開發、數據分析和數據管理中扮演著重要的角色。在大數據、人工智能和機器學習的數據預處理階段,SQL 用於數據清洗、轉換和準備,是不可或缺的工具。SQL入門與實踐(微課視頻版)結合中小實例,詳細論述了 SQL 在 MySQL、SQL Server 和 Oracle 三種關系數據庫管理系統(RDBMS)中的具體應用,對比學習,有利於讀者深刻理解知識點,全面掌握 SQL 的知識體系、使用方法和技巧。 SQL入門與實踐(微課視頻版)共 20 章,詳細介紹了 SQL 數據庫及 SQL 語句的使用方法,具體內容包括數據庫及基本操作、SQL 基礎、數據表、索引、查詢數據、條件查詢、高級條件查詢、SQL 函數的使用、聚合函數與分組數據、多表連接查詢、子查詢、視圖、插入數據、更新和刪除數據、管理數據庫的安全、完整性控制、存儲過程和函數、SQL 觸發器、控制流語句和事務處理等。在具體介紹過程中,經驗技巧和註意事項等隨機融入其中,可以讓讀者的學習過程少走彎路。 SQL入門與實踐(微課視頻版)內容豐富,知識體系完整,實例多,實用性強,適合作為高校電腦科學與技術、軟件工程、信息管理等相關專業的教材,也適合各類數據庫管理人員、數據庫開發人員和程序員參考學習。"

目錄大綱

目 錄 

第 1 章 數據庫及基本操作   1 

1.1 數據庫基礎知識   1 

1.1.1 數據庫的應用   1 

1.1.2 數據庫相關術語   1 

1.1.3 SQL 簡介   2 

1.1.4 數據庫的類型   3 

1.2 主要關系數據庫管理系統簡介   3 

1.2.1 MySQL   3 

1.2.2 SQL Server   3 

1.2.3 Oracle   4 

1.3 在 MySQL 中執行 SQL 語句   4 

1.3.1 安裝 MySQL   4 

1.3.2 使用命令行執行 SQL 語句   5 

1.3.3 使用 Workbench 執行 SQL 語句   6 

1.4 在 SQL Server 中執行 SQL 語句   9 

1.4.1 SQL Server 2022 的安裝   9 

1.4.2 使用 SQL Server 管理工具創建數據庫   10 

1.4.3 使用 SQL Server 管理工具執行SQL 語句   11 

1.5 在 Oracle 21c 中執行 SQL 語句   13 

1.5.1 安裝 Oracle 21c   13 

1.5.2 使用 SQL Developer 執行 SQL語句   15 

1.5.3 使用 SQL Plus 執行 SQL 語句   17 

第 2 章 SQL 基礎   20 

2.1 SQL 概述   20 

2.1.1 SQL 的歷史   20 

2.1.2 SQL 的特點   20 

2.1.3 SQL 的功能   21 

2.2 SQL 的組成   22 

2.2.1 數據定義語言    22 

2.2.2 數據查詢語言    22 

2.2.3 數據操縱語言    23 

2.2.4 數據控制語言    23 

2.3 探索 SQL 環境    23 

2.3.1 瞭解 SQL 執行環境    23 

2.3.2 瞭解 SQL 數據庫的層次結構   24 

2.3.3 在 SQL 環境中命名對象   24 

第 3 章 數據表   26 

3.1 數據類型   26 

3.1.1 SQL 常用數據類型    26 

3.1.2 MySQL 中的數據類型    27 

3.1.3 SQL Server 中的數據類型    30 

3.1.4 Oracle 中的數據類型   32 

3.2 數據表基礎   33 

3.2.1 數據表中的記錄和字段   33 

3.2.2 表結構   34 

3.3 表邏輯設計   34 

3.3.1 E-R 模型圖    34 

3.3.2 規範化與範式    36 

3.4 表的創建(CREATE TABLE)   36 

3.4.1 使用 CREATE TABLE 語句創建表   36 

3.4.2 創建帶有主鍵的表   38 

3.5 表結構的修改(ALTER TABLE)   39 

3.5.1 ALTER TABLE 語句格式   39 

3.5.2 增加新字段   40 

3.5.3 增加帶有默認值的新字段   42 

3.5.4 修改字段的類型和寬度   43 

3.5.5 刪除字段   45 

3.5.6 刪除帶有默認值的字段   45

3.5.7 更改主鍵   47 

3.6 表的刪除、截斷與重命名   48 

3.6.1 刪除表   48 

3.6.2 截斷表   48 

3.6.3 重命名錶   48 

3.7 創建與刪除數據庫   49 

3.7.1 創建數據庫   49 

3.7.2 刪除數據庫   50 

3.7.3 創建本書使用的數據表   50 

第 4 章 索引   54 

4.1 索引基礎   54 

4.1.1 使用索引的原因   54 

4.1.2 索引的種類   54 

4.2 索引的創建和使用   55 

4.2.1 創建索引前應當註意的內容   55 

4.2.2 創建索引的 SQL 語句   56 

4.2.3 創建和使用非聚簇索引   57 

4.2.4 創建和使用唯一索引   60 

4.3 索引的刪除   61 

第 5 章 查詢數據—SELECT 語句    63 

5.1 SELECT 語句的組成結構    63 

5.1.1 最基本的語法格式    63 

5.1.2 帶有主要子句的語法格式    64 

5.1.3 SELECT 各子句的執行順序    64 

5.1.4 關於 SELECT 語句的一些說明    65 

5.2 查詢數據   65 

5.2.1 查詢單字段的方法   65 

5.2.2 去除重復信息—DISTINCT    66 

5.2.3 查詢多字段    67 

5.2.4 查詢所有字段    67 

5.2.5 根據現有字段值計算新字段值    68 

5.2.6 命名新列(別名)—AS    69 

5.2.7 將查詢結果保存為新表    70 

5.2.8 連接字段   71 

5.3 排序數據   73 

5.3.1 按單字段排序    73 

5.3.2 設置排序方向    74 

5.3.3 按多字段排序    75 

5.3.4 按字段位置排序    75 

第 6 章 條件查詢    77 

6.1 條件表達式   77 

6.1.1 指針與字段變量的概念   77 

6.1.2 條件表達式   78 

6.2 使用 WHERE 關鍵字設置查詢條件   80 

6.2.1 WHERE 子句用法   80 

6.2.2 查詢數值數據   81 

6.2.3 查詢字符型數據   83 

6.2.4 查詢日期數據   84 

6.2.5 按範圍查詢數據(BETWEEN)   85 

6.2.6 查詢空值   86 

6.3 排序條件查詢的結果   86 

6.4 查詢前 n 條記錄   87 

第 7 章 高級條件查詢   89 

7.1 組合 WHERE 子句   89 

7.1.1 AND 運算符   89 

7.1.2 OR 運算符   91 

7.1.3 AND 與 OR 的優先順序問題   91 

7.2 IN 運算符   93 

7.2.1 使用 IN 運算符   93 

7.2.2 使用 IN 運算符的優點   94 

7.3 NOT 運算符   96 

7.4 實現模糊查詢   98 

7.4.1 LIKE 運算符   98 

7.4.2 “%”通配符   99 

7.4.3 使用“%”通配符查詢日期型數據   101 

7.4.4 “_”通配符   103 

7.4.5 正則表達式   104 

7.4.6 定義轉義字符   106 

第 8 章 SQL 函數的使用   108 

8.1 SQL 函數的說明   108 

8.2 SQL Server 的函數   108 

8.2.1 類型轉換函數   108 

8.2.2 日期函數   111

8.2.3 數值函數   115 

8.2.4 字符函數   116 

8.3 Oracle 的函數   120 

8.3.1 類型轉換函數   120 

8.3.2 日期函數   123 

8.3.3 數值函數   126 

8.3.4 字符函數   127 

8.4 MySQL 的函數   128 

8.4.1 類型轉換函數   128 

8.4.2 日期函數   129 

8.4.3 數值函數   131 

8.4.4 字符函數   132 

8.5 將 NULL 更改為其他值的函數   132 

8.5.1 SQL Server 的 ISNULL()函數   132 

8.5.2 Oracle 的 NVL()函數   133 

8.5.3 MySQL 的 IFNULL()函數   134 

8.6 IF…ELSE 邏輯函數   134 

8.6.1 DECODE()函數   134 

8.6.2 CASE()函數   135 

第 9 章 聚合函數與分組數據   136 

9.1 聚合函數  136 

9.1.1 使用 COUNT()函數求記錄個數   136 

9.1.2 使用 SUM()函數求某字段的和   138 

9.1.3 使用 AVG()函數求某字段的平均值   140 

9.1.4 使用 MAX()、MIN()函數求最大、最小值   140 

9.1.5 統計匯總相異值(不同值)記錄   141 

9.1.6 聚合函數對 NULL 值的處理   141 

9.2 數據分組   144 

9.2.1 將表內容按列分組   144 

9.2.2 聚合函數與分組配合使用   145 

9.2.3 查詢數據的直方圖    146 

9.2.4 排序分組結果   147 

9.2.5 反轉查詢結果   147 

9.2.6 使用 HAVING 子句設置分組查詢條件   149 

9.2.7 HAVING 子句與 WHERE 子句的區別   149 

第 10 章 多表連接查詢   151 

10.1 將數據存儲在多個不同表的原因   151 

10.2 範式   152 

10.3 連接查詢   153 

10.3.1 連接兩表的方法   153 

10.3.2 使用笛卡兒積解決錄入難題   155 

10.3.3 使用兩表連接查詢數據   157 

10.3.4 多表連接查詢   157 

10.3.5 使用表別名簡化語句   158 

10.3.6 使用 INNER JOIN 連接查詢   160 

10.4 高級連接查詢   161 

10.4.1 自連接查詢   161 

10.4.2 內連接查詢   163 

10.4.3 外連接查詢   165 

10.4.4 交叉連接查詢   167 

10.4.5 連接查詢中使用聚合函數   169 

10.5 組合查詢   170 

10.5.1 使用組合查詢   170 

10.5.2 使用 UNION 的規則   173 

10.5.3 使用 UNION 解決不支持全外連接的問題   174 

10.5.4 使用 UNION 得到復雜的統計匯總樣式   175 

10.5.5 排序組合查詢的結果   175 

第 11 章 子查詢   178 

11.1 返回單值的子查詢   178 

11.1.1 使用返回單值的子查詢   178 

11.1.2 子查詢與聚合函數的配合使用   179 

11.2 返回一列值的子查詢   182 

11.2.1 使用 IN 的子查詢   182 

11.2.2 使用 NOT IN 的子查詢   183 

11.3 相關子查詢   183 

第 12 章 視圖   186 

12.1 視圖基礎   186 

12.1.1 視圖引例   186

12.1.2 使用視圖的原因以及註意問題   188 

12.1.3 視圖的規則和限制   189 

12.2 視圖的創建   190 

12.2.1 創建視圖的 SQL 語句   190 

12.2.2 利用視圖提高數據安全性   192 

12.2.3 利用視圖得到匯總數據   193 

12.2.4 利用視圖簡化計算字段的使用   195 

12.2.5 利用視圖簡化多表連接   196 

12.3 視圖的刪除  197 

第 13 章 插入數據   198 

13.1 直接向表插入數據   198 

13.1.1 插入完整的行   198 

13.1.2 嚮日期和時間型字段插入數據   199 

13.1.3 將數據插入到指定字段   201 

13.1.4 將查詢結果插入表   204 

13.1.5 INSERT SELECT 與 SELECT INTO 的區別   205 

13.2 通過視圖插入數據   205 

13.2.1 通過視圖插入數據的方法   206 

13.2.2 使用帶有 WITH CHECK OPTION 選項的視圖   208 

第 14 章 更新和刪除數據    209 

14.1 更新表中的數據   209 

14.1.1 更新單個字段的數據    209 

14.1.2 更新多個字段的數據    211 

14.1.3 使用子查詢更新數據    212 

14.1.4 使用表連接更新數據    213 

14.1.5 使用 UPDATE 語句刪除指定字段的數據    214 

14.2 刪除表中的數據   215 

14.2.1 使用 DELETE 語句刪除指定記錄   215 

14.2.2 在 DELETE 語句中使用多表連接   217 

14.2.3 使用 DELETE 語句刪除所有記錄   218 

14.2.4 使用 TRUNCATE 語句刪除所有記錄   219 

14.3 通過視圖更新表   219 

14.3.1 不能用於更新的視圖    219 

14.3.2 通過視圖更新表數據    220 

14.3.3 通過視圖刪除表數據    222 

第 15 章 管理數據庫的安全   224 

15.1 MySQL 數據庫安全   224 

15.1.1 權限相關的表   224 

15.1.2 用 SQL 語句創建用戶與授權   225 

15.1.3 MySQL Workbench 創建用戶與授權   227 

15.2 Oracle 數據庫用戶管理   229 

15.2.1 創建用戶   229 

15.2.2 修改用戶   231 

15.2.3 給用戶授予 CREATE SESSION權限   231 

15.2.4 給用戶授予 SELECT 權限   233 

15.2.5 給用戶授予 INSERT、UPDATE 和 DELETE 權限   235 

15.2.6 給用戶授予系統權限   238 

15.2.7 給所有用戶授予權限   239 

15.2.8 查看用戶擁有的權限   240 

15.2.9 取消用戶的指定權限   241 

15.2.10 刪除用戶   242 

15.3 Oracle 數據庫角色管理   242 

15.3.1 角色的概念   242 

15.3.2 創建角色——CREATE ROLE   243 

15.3.3 給角色授權——GRANT   243 

15.3.4 將角色授予用戶——GRANT   244 

15.3.5 查看角色的權限   246 

15.3.6 取消角色——REVOKE   248 

15.3.7 刪除角色——DROP ROLE    248 

15.3.8 Oracle 中系統預定義的角色   248 

15.4 SQL Server 安全管理   249 

15.4.1 SQL Server 的安全認證模式    249 

15.4.2 向 SQL Server 添加安全賬戶   250

15.4.3 從 SQL Server 刪除安全賬戶   252 

15.4.4 SQL Server 權限管理    253 

15.4.5 SQL Server 角色管理    255 

第 16 章 完整性控制    258 

16.1 瞭解完整性約束   258 

16.1.1 數據的完整性   258 

16.1.2 完整性約束的類型   259 

16.2 與表有關的約束   260 

16.2.1 字段約束與表約束的創建   260 

16.2.2 非空約束   260 

16.2.3 唯一約束   262 

16.2.4 主鍵約束   264 

16.2.5 外鍵約束   266 

16.2.6 校驗約束   268 

16.3 擴展外鍵約束的內容   270 

第 17 章 存儲過程和函數   274 

17.1 存儲過程基礎   274 

17.1.1 存儲過程基礎    274 

17.1.2 存儲過程的優點    275 

17.2 在 MySQL 中創建和使用存儲過程   276 

17.2.1 創建存儲過程的語法    276 

17.2.2 調用存儲過程   277 

17.2.3 創建帶輸出參數的存儲過程   277 

17.2.4 刪除存儲過程   278 

17.3 在 SQL Server 中創建和使用存儲過程   279 

17.3.1 SQL Server 的系統存儲過程   279 

17.3.2 創建存儲過程的語法   280 

17.3.3 調用語句 EXECUTE 的語法   281 

17.3.4 創建簡單存儲過程   282 

17.3.5 創建帶輸入參數的存儲過程   283 

17.3.6 給輸入參數設置默認值   284 

17.3.7 創建帶輸出參數的存儲過程   285 

17.3.8 創建有多條 SQL 語句的存儲過程   286 

17.3.9 刪除存儲過程   287 

17.4 在 SQL Server 中創建和使用函數   288 

17.4.1 標量值函數   289 

17.4.2 表值函數   290 

17.4.3 刪除用戶定義函數   292 

17.5 SQL Server 幾個系統存儲過程的使用   293 

17.5.1 使用 sp_rename 重命名對象   293 

17.5.2 使用 sp_depends 顯示引用對象   293 

17.5.3 使用 sp_help 顯示對象信息   294 

17.5.4 使用 sp_helptext 顯示對象的源碼   294 

17.6 Oracle 中的存儲過程和函數   295 

17.6.1 在 Oracle 中使用存儲過程    295 

17.6.2 在 Oracle 中使用函數    296 

17.6.3 在 Oracle 中使用 user_source獲取信息   297 

第 18 章 SQL 觸發器    298 

18.1 SQL 觸發器基礎   298 

18.2 在 SQL Server 中創建和使用觸發器   298 

18.2.1 創建觸發器的語法   299 

18.2.2 使用 INSERT 觸發器   300 

18.2.3 使用 DELETE 觸發器   302 

18.2.4 使用 UPDATE 觸發器   303 

18.2.5 使用 INSTEAD OF 觸發器   305 

18.2.6 使用條件插入觸發器   306 

18.2.7 刪除觸發器   309 

18.3 在 Oracle 中創建和使用觸發器   309 

18.3.1 創建觸發器的語法   309 

18.3.2 行級觸發器   310 

18.3.3 語句級觸發器   311 

18.3.4 判斷所執行的數據修改操作   312 

18.3.5 系統觸發器   312 

18.3.6 追蹤數據庫啟動與關閉信息   313 

18.3.7 追蹤用戶 DDL 操作信息   316 

18.3.8 禁用和刪除觸發器   318 

18.3.9 從 user_triggers 中查詢觸發器信息   319 

18.4 在 MySQL 中創建和使用觸發器  320

18.4.1 創建觸發器的語法   320 

18.4.2 使用 INSERT 觸發器    320 

18.4.3 刪除觸發器   322 

第 19 章 控制流語句   323 

19.1 SQL Server 的控制流語句   323 

19.1.1 BEGIN…END 語句   323 

19.1.2 IF…ELSE 語句   323 

19.1.3 WHILE 語句   324 

19.1.4 BREAK 命令   325 

19.1.5 CONTINUE 命令   325 

19.1.6 WAITFOR 語句    326 

19.2 Oracle 的控制流語句    326 

19.2.1 IF…THEN…ELSE 語句   327 

19.2.2 IF…THEN…ELSIF 語句   327 

19.2.3 LOOP 語句   328 

19.2.4 WHILE 語句   328 

19.2.5 FOR 語句   329 

19.3 MySQL 的控制流語句   329 

19.3.1 IF…THEN…ELSE 語句   329 

19.3.2 LOOP 語句   330 

19.3.3 REPEAT 語句   331 

19.3.4 WHILE 語句   331 

19.4 控制流語句的應用   332 

19.4.1 判斷數據庫對象是否存在   332 

19.4.2 嚮日誌表循環插入日期數據   335 

19.4.3 使用游標和循環提取數據   337 

第 20 章 事務處理   340 

20.1 事務基礎   340 

20.1.1 事務的概念   340 

20.1.2 事務的案例   340 

20.1.3 事務的 ACID 特性   341 

20.2 控制事務處理   341 

20.2.1 開始事務處理   341 

20.2.2 使用 ROLLBACK 撤銷事務   342 

20.2.3 使用 COMMIT 提交事務   345 

20.2.4 根據判斷提交或撤銷事務   348 

20.2.5 Oracle 的語句級事務處理   350 

20.2.6 使用保存點   351 

20.3 並發事務   353 

20.3.1 並發事務處理   353 

20.3.2 事務鎖  354 

20.3.3 事務隔離級別   355