內容簡介
人工智慧、機器學習和大數據等,都是建立在大量數據的基礎上,才能發揮作用,所以資料庫非常重要。目前主流的資料庫有 MySQL、SQL Server 和 Oracle,雖然他們的界面不同,但是在運算元據庫方面都要用到同一種標準語言—SQL。《SQL 從入門到精通(微課視頻版)》一書全面介紹了 SQL 語言的知識體系,及其在三大主流資料庫系統中的使用方法,既是一本 SQL 入門教程,又是一本 SQL 語言的速查工具書。
《SQL 從入門到精通(微課視頻版)》全書共 20 章,詳細介紹了 SQL 資料庫及 SQL 語句的使用方法,具體內容包括資料庫的基礎知識,搭建運行 SQL 語言的環境,SQL 語言基礎,數據表的基本操作,索引的創建和使用,數據的簡單查詢,條件查詢,SQL 函式的使用,聚合函式和分組數據的套用,多表連線查詢,子查詢,視圖的套用,數據的插入、更新與刪除,資料庫系統的安全性和完整性控制,創建和使用存儲過程,SQL 觸發器的使用,SQL Server、Oracle 和 MySQL 的控制流語句,事務處理和並發事務處理等。
在具體講解過程中,結合中小實例,分別論述 SQL 在三種主流資料庫中的具體套用,對比學習,讀者理解更深刻,有利於全面掌握 SQL 語言的使用方法和技巧。
《SQL 從入門到精通(微課視頻版)》一書知識體系完整、內容介紹由淺入深,並配有高清視頻講解,適用於各類資料庫管理人員、資料庫開發人員以及程式設計師使用,同時也可用作高校相關專業的教材。
圖書目錄
第1章資料庫及基本操作
視頻進解:29分鐘
1.1數據掉基礎知識。
1.1.1數據岸的套用
1.1.2資料庫相關術語.
1.1.3SQL簡介
1.1.4數據你的類型
1.2主要關係型資料庫管理系統簡介
1.2.1 MySQL
1.2.2 SQL Server
12.3 Oracle
1.3在MSQL中執行SQL語句
1.3.1安裝MySQL
1.3.2使用命令行執行SQL語句
1.3.3使用%r業bDb執行SQL語句
1.4在SQLServer中執行SQL
1.4.SQL Server2017的安裝
1.4.2使用SQL Server管理工具建數無庫
1.4.3使用SQL Server管理工具執行SQL語句
1.5在Oracle12c中執行SQL拼句
1.5.1安裝Oracle 12c
1.52使用SQLDeveloper執行SQL語句
1.5.3使用SQLPlus執行SQL語句
第2章SQL語言基礎
視頻講解:19分鐘
2.1SQL概述
2.1.1SQL的歷史.
2.1.2SQL的特點
2.1.3SQL的功能
2.2SQL話言的組成
2.2.1數據定義語言一DDL
2.2.2數據查詢語言一DQL
2.2.3數據操級語言一DML
2.2.4數據控制語言一DCL
2.3探索SQL環境
2.3.1了解SQL執行環境
2.3.2了解SQL資料庫的層次結構
2.3.3在SQL環境中命名對象
第3章 數據表
視頻講解:111分鐘
3.1數據類型
3.1.1SQL常用數據類型
3.1.2 MySQL中的數據類型
3.1.3 SQLServer中的數據類型
3.1.4 Oracle中的數據類型
3.2數據表基礎.
3.2.1數據表中的記錄和欄位
3.2.2表結構
3.3表邏輯設計
3.3.1E-R摸型圖
3.3.2規範化與範式
3.4表的創建(CREATE TABLE)
3.4.1使用CREATE TABLE語句創建表
3.4.2創建帶有主鍵的表
3.5表結構的修改(ALTER TABLE)
3.5.1 ALTER TABLE語句格式
3.5.2增加新欄位
3.5.3增加帶有歇認值的新欄位
3.5.4修改欄位的類型和寬度
3.5.5副除欄位
3.5.6副除帶有默認值的欄位
3.5.7更改主鍵
3.6表的別除、截斷與重命名.
3.6.1割除表
3.6.2根新表
3.6.3重命名表
3.7創建與別除資料庫
3.7.1創建資料庫
3.7.2刪除資料庫
3.7.3創建本書使用的數據表
第4章索寫引
視頻講解:24分鐘
4.1索引基礎
4.1.1使用家引的原因
4.1.2索引的種類
4.2索引的創建和使用
4.2.1創建索引前應當注意的內容
42.2創建索引的SQL語句
4.2.3創建和使用非聚繞索引
4.2.4創建和使用唯一索引
4.3索引的刷除
第5章查詢數據一SELECT語句
視頻講解:54分鐘
5.1SELECT語句的組成結構
5.1.1最基本的語法格式
5.1.2帶有主要子句的語法格式
5.1.3 SELECT各子句的執行順序
5.1.4關於SELECT語句的一些說明
5.2查詢數據
5.2.1查詢單欄位的方法
5.2.2去除重複信息一DISTINCT
5.2.3查詢多欄位.
5.2.4查詢所有欄位
5.2.5根據現有欄位值計算新欄位值.
5.2.6命名新列(別名)一AS
5.2.7將查詢結果保存為新表
5.2.8連線欄位
5.3排序數據
53.1按單欄位排序
5.32設定排序方向
5.3.3按多欄位排序
5.3.4按欄位位置排序
第6章條件查詢
視頻講解:61分鐘
6.1條件表達式
6.1.1指針與欄位變數的概念
6.1.2條件表達式
6.2使用WHERE關鍵字設凰查詢條件
6.2.1 WHERE子句用法
6.2.2查詢數值數據
6.2.3查詢字元型數據
6.2.4查詢日期數據
6.2.5按範圍查詢數據(BETWEEN)
6.2.6查詢空值
6.3排序條件查詢的結果
6.4查詢前D條記錄
第7章高級條件查詢
視頻講解:85分鐘
7.1組合WHERE子句
7.1.1AND運算符
7.1.2oR運算符
7.1.3AND與OR的優先順序問題
7.2使用N運算符
7.2.1使用N運算符
7.2.2使用N運算符的優點
7.3NOT運算符
7.4實現模糊查詢
7.4.1LIKE運算符
7.42“%”通配符
7.4.3使用“%”通配符查詢日期型數據
7.4.4"_"通配符
7.4.5正則表達式
7.4.6定義轉義字元
第8章SQL函式的使用
視頻:102分鐘
8.1SQL函式的說明
8.2 SQL Server的函式n
8.2.1類型轉換函式
8.2.2日期函式
8.2.3數學函式
8.2.4字元函式
8.3Oracle的函式
8.3.1類型轉換函式
8.3.2日期函式
8.3.3數值函式
8.3.4字元函式
8.4 MySQL的函式
8.4.1類型轉換函式…
8.4.2日期函式
8.4.3數值函式
8.4.4字元函式
8.5將NULL更改為其他值的函式
8.5.1 SQL Server的ISNULL0函式
8.5.2 Oracle的NVL0函式.
8.5.3 MySQL的FNULL0函式
8.6 IF··ELSE邏輯函式、
8.6.1 DECODE()函式
8.6.2 CASE()函式
第9章 聚合函式與分組數據
視頻進解:71分鐘
9.1聚合函式
9.1.1 使用COUNTO函式求記錄個數
9.1.2 使用SUM(函式求某欄位的和
9.1.3使用AVG(函式求某欄位的平均值.
9.1.4 使用MAX()、MIN()函式求最大、最小值
9.1.5 統計匯總相異值(不同值)記錄
9.1.6 聚合函式對NULL值的處理
9.2 數據分組
9.2.1 將表內容按列分組
9.2.2 聚合函式與分組配合使用
9.2.3 查詢數據的直方圖
9.2.4 排序分組結果
9.2.5 反轉查詢結果
9.2.6使用HAVING子句設定分組查詢條件
9.2.7 HAVING子句與WHERB子句的區別
第10章 多表連線查詢
視頻講解:109分鐘
10.1 將數據存儲在多個不同表的原因
10.2範式
10.3連線查詢
10.3.1 連線兩表的方法
10.3.2 使用笛卡爾積解決錄入難題
10.3.3 使用兩表連線查詢數據
10.3.4 多表連線查詢
10.3.5 使用表別名簡化語句
10.3.6 使用 INNER JOIN 連線查詢
10.4 高級連線查詢
10.4.1 自連線查詢
10.4.2 內違接查詢
10.4.3 外連線查詢
10.4.4 交叉連線查詢
10.4.5 連線查詢中使用合函式
10.5 組合查詢
10.5.1 使用組合查詢
10.5.2 使用UNION的規則.
10.5.3 使用UNION解決不支持全外連線的問題
10.5.4 使用 UNION得到複雜的統計匯總樣式
10.5.5 排序組合查詢的結果,
第11章 子查詢
視頻講解:33分鐘
11.1 返回單值的子查詢
11.1.1 使用返回單值的子查詢
11.1.2 子查詢與聚合函式的配合使用
11.2 返回一列值的子查詢
11.2.1 使用IN的子查詢
11.2.2 使用NOT IN的子查詢
11.3 相關子查詢
第12章 視圖
視頻講解:54分鐘
12.1 視圖基礎
12.1.1 視圖引例
12.1.2 使用視圖的原因以及注意問題
12.1.3 視圖的規則和限制
12.2 視圖的創建
12.2.1 創建視圖的SQL語句
12.2.2 利用視圖提高數據安全性
12.2.3 利用視圖得到匯總數據
12.2.4 利用視圖簡化計算欄位的使用.
12.2.5 利用視圖簡化多表連線
12.3 視圖的刪除
第13章插入數據
視頻講解:40分鐘
13.1 直接向表插入數據
13.1.1 插入完整的行
13.1.2 向日期時間型欄位插入數據
13.1.3 將數據插入到指定欄位
13.1.4 將查詢結果插入表
13.1.5 INSERT SELECT 與SELECT INTY的區別
13.2 通過視圖插入數據
13.2.1 通過視圖插入數據
13.22 使用帶有 WITH CHECK OPTION選項的視圖
第14章更新和刪除數據
視頻講解:56分鐘
14.1 更新表中的數據
14.1.1 更新單個欄位的數據
14.12 更新多個欄位的數據
14.1.3 使用子查詢更新數據
14.14 使用表連線更新數據
14.1.5 使用UPDATE語句形除指定欄位的數據
14.2 到除表中的數據
142.1 使用DELETE語句制除指定記錄
14.2.2 在DELETE鋁句中使用多農連線
142.3 使用DELETE語句刪除所有記錄
14.2.4 使用TRUNCATE語句刪除所有記錄
14.3 通過視圖更新表
14.3.1 不能用於更新的視圖
14.3.2 通過視圖更新表數據
14.3.3 通過視圖到除表數據
第15章管理敗據庫的安全
視頻講解:81分鐘
15.1 MySQL資料庫安全
15.1.1 許可權相關的表
15.1.2 用SQL語句創建用戶與授權
15.1.3 MySQL Workbench 創建用戶與授權
15.2 Oracte 資料庫用戶管理
15.2.1 創建用戶
15.2.2 修改用戶
15.2.3 給用戶授予 CREATE SESSION許可權
152.4 給用戶授予SELECT許可權
15.2.5 給用戶授予INSERT、UPDATE DELETE許可權
15.2.6 給用戶授予系統許可權
15.2.7 給所有用戶授予許可權
15.2.8 查看用戶擁有的許可權
15.2.9 取消用戶的指定許可權
152.10 刪除用戶
15.3 Oracle 資料庫角色管理
15.3.1 角色的概念
15.3.2 創建角色-CREATE ROLB
15.3.3 給角色授權-GRANT
15.3.4 將角色授予用戶-GRANT
15.3.5 查看角色的許可權
15.3.6 取消角色-REVOKE
15.3.7 刪除角色-DROPROLE
15.3.8 Oracle 中系統預定義的角色
15.4 SQL Server安全管理
15.4.1 SQL Server 的安全認證模式
15.42 向SQLScrver 添加安全賬戶
15.43 從SQLServer 刪除安全賬戶.
15.4.4 SQL Server 許可權管理
15.4.5 SQL Server 角色管理
第16章完整性控制
視頻講解:43分鐘
16.1 了解完整性約束
16.1.1 數據的完整性
16.1.2 完整性約束的類型
16.2 與表有關的約束
16.2.1 欄位約束與表約束的創建
16.2.2 非空約束-NOT NULL
16.2.3 唯一約束-UNIQUE
16.2.4 主鍵約束-PRIMARYKEY
16.2.5 外鍵約京-FORHION KEY
16.2.6 校驗約束-CHECK
16.3 擴展外鍵約束的內容
第17章存儲過程和函式
視頻講解:92分鐘
17.1 存儲過程基礎
17.1.1 存儲過程基礎
17.1.2 存儲過程的優點
172 在MySQL中創建和使用存儲過程
17.2.1 創建存儲過程的語法
17.2.2 調用存儲過程
17.2.3 創建帶輸出參數的存儲過程
17.2.4 刪除存儲過程
17.3 在SQL Server中創建和使用存儲過程
17.3.1 SQL Server 的系統存儲過程.
17.3.2 創建存儲過程的語法
17.3.3 調用語句EXECUTE的語法
17.3.4 創建筒單存儲過程
17.3.5 創建帶輸入參數的存儲過程
17.3.6 給輸入參數設定默認值
17.3.7 創建帶輸出參數的存儲過程
17.3.8 創建有多條SQL鋁句的存儲過程
17.3.9 刪除存儲過程
17.4 在SQL Server 中創建和使用函式
17.4.1 標量值函式
17.4.2 表值函式
17.4.3 刪除用戶定義函式
17.5 SQL Server 幾個系統存儲過程的使用
17.5.1 使用sp_rename 重命名對象
17.5.2 使用wp_depends顯示引用對象
17.5.3 使用sp_belp 顯示對象
17.5.4 使用sp. belptext 顯示對象的源碼
17.6 Oracle 中的存儲過程和函式
17.6.1 在Oracle 中使用存儲過程
17.6.2 在Oracle 中使用函式
17.6.3 在Oracle 中使用 user_source 獲取信息
第18意 SQL觸發器
視頻進解:69分鐘
18.1 SQL觸發器基礎..
18.2 在SQL Server 中創建和使用觸發器
18.2.1 創建觸發器的語法
18.2.2 使用INSERT觸發器
18.2.3 使用DELETB觸發器
18.2.4 使用UPDATB觸發器
18.2.5 使用INSTEAD OF 觸發器
18.2.6 使用條件插入觸發器
18.2.7 到除觸發器,
18.3 在Oracle中創建和使用觸發器
18.3.1 創建觸發器的語法
18.3.2 行級觸發器
18.3.3 語句級觸發器
18.3.4 判斷所執行的數據修改操作
18.3.5 系統觸發器
18.3.6 追蹤資料庫啟動與關閉信息
18.3.7 追蹤用戶DDL操作信息
18.3.8 禁用和刪除觸發器
18.3.9從user_triggers中查詢觸發器信息
18.4 在MySQL中創建和使用觸發器
18.4.1 創建觸發器的語法
18.42 使用INSERT觸發器
18.4.3 刪除觸發器
第19章控制流語句
視頻講解:55分鐘
19.1SQLSamvax的控制流語句
19.1.1 BEGIN一END語句
19.1.2 IF·ELSB語句
19.1.3 WHILE語句
19.1.4 BREAK命令
19.1.5CONTINUE命令
19.1.6 WAITFOR語句
19.2 Orcle的控制流婚句
19.2.1 IF...THEN··ELSE語句
19.2.2 IF...THEN..ELSIP語句
19.23 LOOP 語句
19.2.4 WHILE語句
19.2.5 FOR語句
19.3 MySQL的控制流語句
19.3.1 IF...TIEN...ELSB語句
19.3.2 LOOP語句
19.3.3 REPEAT語句
19.34 WHILE語句
19.4 控制流語句的套用
19.4.1 判斷資料庫對象是否存在
19.42 向日誌表循環插入日期數據
19.4.3 使用游標和循環提取數據
第20章事務處理。
視頻講解:33分鐘
20.1 事務基礎
20.1.1 事務的概念
20.1.2 事務的案例
20.1.3 事務的ACID特性
20.2 控制事務處現
20.2.1 開始事務處理
20.22 使用ROLLBACK撤銷事務
20.23 使用COMMIT 提交事務
20.2.4 根據判斷提交或撤銷事務
20.2.5 Oracle的語句級事務處理
20.2.6 使用保存點
20.3 並發事務
20.3.1 並發事務處理
20.3.2 事務議
20.3.3 事務隔離級別
作者簡介
陳貽品,副教授,長期從事弱電系統設計、計算機網路及套用方面的教學、科研、管理和技術服務工作,擔任計算機套用、電氣設計、網路與通信相關課程教學工作。
賈蓓,在軍隊院校任教,研究方向為資料庫與XML技術,講授多門計算機相關課程。近年來在國內外學術刊物及學術會議上發表論文10餘篇,其中EI收錄7篇。喜歡研究新技術,精通Java Web開發技術,有豐富的項目開發經驗。
和曉軍,副教授,主要研究領域為數據挖掘與模式識別,曾主持遼寧省部級項目3項,在、省級學術期刊上發表科研論文10餘篇,其中EI檢索論文3篇,獲校級優秀研究生指導教師2次,主講高級語言程式設計、嵌入式技術等課程。