根據(jù)當前高等學校MySQL數(shù)據(jù)庫教學和實驗的需要,本書以數(shù)據(jù)庫原理為基礎,以MySQL 8.0作為平臺,分兩部分系統(tǒng)介紹MySQL數(shù)據(jù)庫的概念、技術、應用和實驗。其中,第一部分為MySQL數(shù)據(jù)庫基礎,介紹數(shù)據(jù)庫概論、MySQL 8.0的安裝和運行、MySQL數(shù)據(jù)庫、MySQL表、數(shù)據(jù)查詢、視圖和索引、數(shù)據(jù)完整性、MySQL程序設計、存儲過程和游標、觸發(fā)器和事件、安全管理、備份和恢復、事務和鎖、PHP和MySQL學生成績信息系統(tǒng)開發(fā)等內(nèi)容; 第二部分為MySQL實驗,各實驗與第一部分各章內(nèi)容對應。
本書可作為計算機、信息類專業(yè)和相關專業(yè)的教材,也可作為培訓班的教材,適合計算機應用人員和計算機愛好者自學參考。
(1)教學和實驗配套,方便課程教學和實驗課教學;深化實驗課的教學,每章對應的實驗分為驗證性實驗和設計性實驗兩個階段。
(2)理論與實踐相結合,培養(yǎng)學生掌握數(shù)據(jù)庫理論知識,具備數(shù)據(jù)庫管理和操作能力、編程能力。
(3)在數(shù)據(jù)查詢、MySQL程序設計、存儲過程和觸發(fā)器等程序較為復雜的章節(jié),進行程序分析,以幫助讀者理解。
(4)技術新穎,介紹大數(shù)據(jù)、NoSQL等前沿內(nèi)容。
(5)配套資源豐富,提供教學課件、源代碼、教學大綱、教案、授課計劃、期末試卷、微課視頻和習題答案。
本書第2版以數(shù)據(jù)庫原理為基礎,以MySQL 8.0作為平臺,以學生信息數(shù)據(jù)庫作為案例數(shù)據(jù)庫,以商店數(shù)據(jù)庫作為實驗數(shù)據(jù)庫。本書第一部分為各章內(nèi)容,第1、2章為數(shù)據(jù)庫基礎部分,介紹數(shù)據(jù)庫的一般性原理和MySQL的安裝和運行; 第3~7章詳細介紹了MySQL數(shù)據(jù)庫和表、數(shù)據(jù)查詢、視圖和索引、數(shù)據(jù)完整性等內(nèi)容; 第8~14章進一步介紹了MySQL程序設計、存儲過程和游標、觸發(fā)器和事件、安全管理、備份和恢復、事務和鎖、PHP和MySQL學生成績信息系統(tǒng)開發(fā)等內(nèi)容。本書第二部分的實驗與第一部分各章內(nèi)容對應。
在第1版的基礎上,本書第2版所做的重要改進如下:
(1) 以學生信息數(shù)據(jù)庫作為案例數(shù)據(jù)庫,以商店數(shù)據(jù)庫作為實驗數(shù)據(jù)庫,貫穿全書。
(2) 為深入介紹MySQL 8.0的新特性,在第4章MySQL表中增加了JSON數(shù)據(jù)類型、分區(qū)表,在第5章數(shù)據(jù)查詢中增加了窗口函數(shù)、通用表表達式,在第11章安全管理中增加了角色管理。
(3) 在數(shù)據(jù)查詢、MySQL程序設計、存儲過程和游標、觸發(fā)器和事件等程序較為復雜的章節(jié),進行程序分析,以幫助讀者理解。
(4) 在有關章節(jié)增加了綜合應用。
本書有以下特色:
(1) 教學和實驗配套,方便課程教學和實驗課教學; 深化實驗課的教學,每章對應的實驗分為驗證性實驗和設計性實驗兩個階段。
(2) 理論與實踐相結合,培養(yǎng)學生掌握數(shù)據(jù)庫理論知識,具備數(shù)據(jù)庫管理和操作能力、編程能力和綜合應用能力。
(3) 在程序較為復雜的章節(jié)進行程序分析,幫助讀者理解。
(4) 技術新穎,介紹MySQL 8.0的新特性和相關的分區(qū)表、窗口函數(shù)、通用表表達式等技術內(nèi)容。
資源下載提示
程序源碼等資源: 掃描目錄處的二維碼下載。
課件等資源: 掃描封底的圖書資源二維碼,在公眾號書圈下載。
在線作業(yè): 掃描封底的作業(yè)系統(tǒng)二維碼,登錄網(wǎng)站在線做題及查看答案。
視頻等資源: 掃描封底的文泉云盤防盜碼,再掃描書中相應章節(jié)的二維碼,即可觀看。
為便于教學,本書提供豐富的配套資源,包括教學大綱、教學課件、電子教案、程序源碼、習題答案、在線作業(yè)和微課視頻。其中,在線作業(yè)包括4套期末試卷和參考答案。
本書由趙明淵主編,參與本書編寫的有蔡露、程小菊,對于幫助完成基礎工作的老師,在此表示感謝!
由于作者水平有限,不當之處,敬請讀者批評指正。
編者
2024年2月
查看源碼
第一部分MySQL數(shù)據(jù)庫基礎
第1章數(shù)據(jù)庫概論
1.1數(shù)據(jù)庫基本概念
1.1.1數(shù)據(jù)庫
1.1.2數(shù)據(jù)庫管理系統(tǒng)
1.1.3數(shù)據(jù)庫系統(tǒng)
1.1.4數(shù)據(jù)管理技術的發(fā)展
1.2數(shù)據(jù)模型
1.2.1兩類數(shù)據(jù)模型
1.2.2數(shù)據(jù)模型組成要素
1.2.3層次模型、網(wǎng)狀模型和關系模型
1.3關系數(shù)據(jù)庫
1.3.1關系數(shù)據(jù)庫基本概念
1.3.2關系運算
1.4數(shù)據(jù)庫設計
1.4.1需求分析
1.4.2概念結構設計
1.4.3邏輯結構設計
1.4.4物理結構設計
1.4.5數(shù)據(jù)庫實施
1.4.6數(shù)據(jù)庫運行和維護
1.5SQL語言和MySQL語言組成
1.5.1SQL語言的特點
1.5.2SQL語言的分類
1.5.3MySQL語言組成
1.6大數(shù)據(jù)簡介
1.6.1大數(shù)據(jù)的基本概念
1.6.2大數(shù)據(jù)的處理過程
1.6.3大數(shù)據(jù)的技術支撐
1.6.4NoSQL數(shù)據(jù)庫
1.7小結
習題1
第2章MySQL 8.0的安裝和運行
2.1MySQL的特點和MySQL 8.0的新特性
2.1.1MySQL的特點
2.1.2MySQL 8.0的新特性
2.2MySQL 8.0安裝和配置
2.2.1MySQL 8.0安裝
2.2.2MySQL 8.0配置
2.3MySQL服務器的啟動和關閉
2.4登錄MySQL服務器
2.4.1MySQL命令行客戶端
2.4.2Windows命令行
2.5小結
習題2
第3章MySQL數(shù)據(jù)庫
3.1MySQL數(shù)據(jù)庫簡介
3.2定義數(shù)據(jù)庫
3.2.1創(chuàng)建數(shù)據(jù)庫
3.2.2選擇數(shù)據(jù)庫
3.2.3修改數(shù)據(jù)庫
3.2.4刪除數(shù)據(jù)庫
3.3存儲引擎
3.3.1存儲引擎概述
3.3.2常用存儲引擎
3.3.3選擇存儲引擎
3.4小結
習題3
第4章MySQL表
4.1表的基本概念
4.1.1表和表結構
4.1.2表結構設計
4.2數(shù)據(jù)類型
4.2.1數(shù)值類型
4.2.2字符串類型
4.2.3日期和時間類型
4.2.4二進制數(shù)據(jù)類型
4.2.5JSON數(shù)據(jù)類型
4.2.6其他數(shù)據(jù)類型
4.2.7數(shù)據(jù)類型的選擇
4.3定義表
4.3.1創(chuàng)建表
4.3.2查看表
4.3.3修改表
4.3.4刪除表
4.4表數(shù)據(jù)操作
4.4.1插入數(shù)據(jù)
4.4.2修改數(shù)據(jù)
4.4.3刪除數(shù)據(jù)
4.5分區(qū)表
4.5.1分區(qū)表概述
4.5.2范圍分區(qū)
4.5.3列表分區(qū)
4.5.4散列分區(qū)
4.5.5鍵分區(qū)
4.5.6復合分區(qū)
4.6小結
習題4
第5章數(shù)據(jù)查詢
5.1單表查詢
5.1.1投影查詢
5.1.2選擇查詢
5.1.3分組查詢和統(tǒng)計計算
5.1.4排序查詢和限制查詢結果的數(shù)量
5.2連接查詢
5.2.1交叉連接
5.2.2內(nèi)連接
5.2.3外連接
5.3子查詢
5.3.1IN子查詢
5.3.2比較子查詢
5.3.3EXISTS子查詢
5.4聯(lián)合查詢
5.5正則表達式
5.6窗口函數(shù)
5.7通用表表達式
5.8綜合應用
5.9小結
習題5
第6章視圖和索引
6.1視圖概述
6.2視圖操作
6.2.1創(chuàng)建視圖
6.2.2查詢視圖
6.2.3更新視圖
6.2.4修改視圖
6.2.5刪除視圖
6.3索引概述
6.4索引操作
6.4.1創(chuàng)建索引
6.4.2查看表上建立的索引
6.4.3刪除索引
6.5小結
習題6
第7章數(shù)據(jù)完整性
7.1數(shù)據(jù)完整性概述
7.2實體完整性
7.2.1主鍵約束
7.2.2唯一性約束
7.3參照完整性
7.3.1參照完整性規(guī)則
7.3.2外鍵約束
7.4用戶定義的完整性
7.4.1檢查約束
7.4.2非空約束
7.5綜合應用
7.6小結
習題7
第8章MySQL程序設計
8.1MySQL編程概述
8.1.1MySQL編程規(guī)范
8.1.2DELIMITER命令和BEGIN END語句塊
8.2常量、變量、運算符和表達式
8.2.1常量
8.2.2變量
8.2.3運算符和表達式
8.3自定義函數(shù)
8.3.1創(chuàng)建和調(diào)用自定義函數(shù)
8.3.2刪除自定義函數(shù)
8.4流程控制語句
8.4.1條件語句
8.4.2循環(huán)語句
8.5系統(tǒng)函數(shù)
8.5.1數(shù)學函數(shù)
8.5.2字符串函數(shù)
8.5.3日期和時間函數(shù)
8.5.4其他函數(shù)
8.6小結
習題8
第9章存儲過程和游標
9.1存儲過程概述
9.2存儲過程的創(chuàng)建、調(diào)用和刪除
9.2.1創(chuàng)建、調(diào)用存儲過程
9.2.2存儲過程的刪除
9.3游標
9.3.1聲明游標
9.3.2打開游標
9.3.3讀取數(shù)據(jù)
9.3.4關閉游標
9.4綜合應用
9.5小結
習題9
第10章觸發(fā)器和事件
10.1觸發(fā)器概述
10.2觸發(fā)器
10.2.1創(chuàng)建觸發(fā)器
10.2.2刪除觸發(fā)器
10.2.3使用觸發(fā)器
10.3事件概述
10.4事件的創(chuàng)建、修改和刪除
10.4.1創(chuàng)建事件
10.4.2修改事件
10.4.3刪除事件
10.5綜合應用
10.6小結
習題10
第11章安全管理
11.1權限表
11.2用戶管理
11.2.1創(chuàng)建用戶
11.2.2刪除用戶
11.2.3修改用戶賬號
11.2.4修改用戶口令
11.3權限管理
11.3.1授予權限
11.3.2權限的撤銷
11.4角色管理
11.4.1創(chuàng)建角色
11.4.2授予角色權限和收回權限
11.4.3將角色授予用戶
11.4.4刪除角色
11.4.5顯示角色權限信息
11.5綜合應用
11.6小結
習題11
第12章備份和恢復
12.1備份和恢復概述
12.2備份數(shù)據(jù)
12.2.1表數(shù)據(jù)導出
12.2.2使用mysqldump命令備份數(shù)據(jù)
12.3恢復數(shù)據(jù)
12.3.1表數(shù)據(jù)導入
12.3.2使用mysql命令恢復數(shù)據(jù)
12.4小結
習題12
第13章事務和鎖
13.1事務的基本概念
13.1.1事務的概念
13.1.2事務特性
13.2事務控制語句
13.3事務的并發(fā)處理
13.4管理鎖
13.4.1鎖機制
13.4.2鎖的級別
13.4.3InnoDB存儲引擎中的死鎖
13.5小結
習題13
第14章PHP和MySQL學生成績信息系統(tǒng)開發(fā)
14.1PHP簡介
14.1.1PHP基本概念和特點
14.1.2PHP運行環(huán)境
14.1.3PHP運行過程
14.2學生成績信息系統(tǒng)主界面開發(fā)
14.3學生信息界面和功能實現(xiàn)
14.3.1學生信息界面開發(fā)
14.3.2學生信息功能實現(xiàn)
14.4課程信息界面和功能實現(xiàn)
14.4.1課程信息界面開發(fā)
14.4.2課程信息功能實現(xiàn)
14.5成績信息界面和功能實現(xiàn)
14.5.1成績信息界面和查詢成績單功能開發(fā)
14.5.2成績信息功能實現(xiàn)
14.6小結
習題14
第二部分MySQL實驗
實驗1ER圖畫法和概念模型向邏輯模型的轉(zhuǎn)換
實驗2MySQL 8.0的安裝和運行
實驗3MySQL數(shù)據(jù)庫
實驗4MySQL表
實驗4.1創(chuàng)建表
實驗4.2表數(shù)據(jù)操作
實驗5數(shù)據(jù)查詢
實驗5.1數(shù)據(jù)查詢1
實驗5.2數(shù)據(jù)查詢2
實驗6視圖和索引
實驗6.1視圖
實驗6.2索引
實驗7數(shù)據(jù)完整性
實驗8MySQL程序設計
實驗9存儲過程和游標
實驗10觸發(fā)器和事件
實驗11安全管理
實驗12備份和恢復
附錄A習題參考答案
附錄B案例數(shù)據(jù)庫學生信息數(shù)據(jù)庫
附錄C實驗數(shù)據(jù)庫商店數(shù)據(jù)庫
參考文獻