MySQL數(shù)據(jù)庫系統(tǒng)與應(yīng)用教程
定 價(jià):59 元
- 作者:李海翔
- 出版時(shí)間:2023/9/1
- ISBN:9787121464737
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.132.3
- 頁碼:268
- 紙張:
- 版次:01
- 開本:16開
本書共17章,系統(tǒng)全面地講述數(shù)據(jù)庫系統(tǒng)的基本理論和MySQL 8.x應(yīng)用技術(shù),主要內(nèi)容包括數(shù)據(jù)庫系統(tǒng)基礎(chǔ),關(guān)系模型和數(shù)據(jù)庫的設(shè)計(jì),安裝和配置MySQL,數(shù)據(jù)庫的操作和字符集,數(shù)據(jù)類型、表的操作和存儲(chǔ)引擎,數(shù)據(jù)完整性約束,表記錄的操作,記錄的查詢,索引,視圖,MySQL編程基礎(chǔ),存儲(chǔ)過程、異常處理和游標(biāo),觸發(fā)器和事件,事務(wù)和鎖機(jī)制,日志,備份和恢復(fù),用戶和權(quán)限管理等。 全書以學(xué)生數(shù)據(jù)庫系統(tǒng)為主線,把教學(xué)內(nèi)容和實(shí)例貫穿在一起,并以員工數(shù)據(jù)庫系統(tǒng)貫穿習(xí)題。每章均配備大量的例題,例題選取合適,突出了實(shí)用性和專業(yè)性。為適應(yīng)不同的教學(xué)需求,本書以二維碼形式提供了大量選學(xué)內(nèi)容。為便于開展教學(xué)和上機(jī)實(shí)操,本書還提供配套的教學(xué)資源,包括授課計(jì)劃、電子課件、例題的源代碼以及部分習(xí)題參考答案等。登錄華信教育資源網(wǎng)(www.hxedu.com.cn),注冊后可以免費(fèi)下載。
李海翔,西安電子科技大學(xué)博士研究生。主要研究方向?yàn)槠珮?biāo)記學(xué)習(xí)和多標(biāo)記學(xué)習(xí),同時(shí)對超分辨率和語義分割等計(jì)算機(jī)視覺子領(lǐng)域也具有深入的理解和研究,了解各種機(jī)器學(xué)習(xí)和深度學(xué)習(xí)架構(gòu)與方法,對AI應(yīng)用有著深入了解。參與的主要科研項(xiàng)目包括神經(jīng)網(wǎng)絡(luò)近似計(jì)算優(yōu)化,并已經(jīng)實(shí)際部署應(yīng)用于硬件中。另參與國家自然科學(xué)基金項(xiàng)目《基于生成對抗網(wǎng)絡(luò)的新型雷達(dá)輻射源識(shí)別》,與研究所合作項(xiàng)目《基于知識(shí)圖譜的XML數(shù)據(jù)鏈消息格式解析與合成技術(shù)研究》、《跨域協(xié)同語義體系構(gòu)建研究》等,具有豐富的設(shè)計(jì)和編碼經(jīng)驗(yàn)。已獲發(fā)明專利授權(quán)3項(xiàng),參與教材編寫多部。
第1章 數(shù)據(jù)庫系統(tǒng)基礎(chǔ) 1
1.1 信息、數(shù)據(jù)和數(shù)據(jù)管理 1
1.1.1 信息和數(shù)據(jù)的概念 1
1.1.2 數(shù)據(jù)處理和數(shù)據(jù)管理 2
1.2 數(shù)據(jù)管理技術(shù)的發(fā)展歷史 2
1.3 數(shù)據(jù)庫系統(tǒng) 3
1.3.1 數(shù)據(jù)庫系統(tǒng)的基本概念 3
1.3.2 數(shù)據(jù)庫系統(tǒng)的特點(diǎn) 4
1.4 數(shù)據(jù)模型的組成和抽象 4
1.4.1 數(shù)據(jù)模型的三要素 4
1.4.2 數(shù)據(jù)抽象的過程 5
1.4.3 三種世界中術(shù)語的對應(yīng)關(guān)系 7
1.5 概念模型 7
1.5.1 概念模型的基本概念 7
1.5.2 概念模型的表示方法 9
1.6 邏輯模型 11
1.6.1 層次模型 11
1.6.2 網(wǎng)狀模型 11
1.6.3 關(guān)系模型 12
1.7 數(shù)據(jù)庫的體系結(jié)構(gòu) 12
1.7.1 數(shù)據(jù)抽象 13
1.7.2 數(shù)據(jù)庫的三級模式結(jié)構(gòu) 13
1.7.3 三級模式間的二級映像 14
習(xí)題1 15
第2章 關(guān)系模型和數(shù)據(jù)庫的設(shè)計(jì) 16
2.1 關(guān)系模型 16
2.1.1 關(guān)系模型的組成 16
2.1.2 關(guān)系數(shù)據(jù)結(jié)構(gòu) 16
2.2 關(guān)系代數(shù) 19
2.2.1 傳統(tǒng)的集合運(yùn)算 19
2.2.2 專門的關(guān)系運(yùn)算 20
2.3 關(guān)系的完整性和約束 23
2.3.1 關(guān)系的完整性 23
2.3.2 約束 23
2.4 關(guān)系規(guī)范化理論基礎(chǔ) 24
2.4.1 關(guān)系范式的種類和規(guī)范化過程 24
2.4.2 函數(shù)依賴 25
2.4.3 范式 26
2.5 數(shù)據(jù)庫設(shè)計(jì)的步驟 27
2.5.1 需求分析階段 28
2.5.2 概念結(jié)構(gòu)設(shè)計(jì)階段 28
2.5.3 邏輯結(jié)構(gòu)設(shè)計(jì)階段 29
2.5.4 物理結(jié)構(gòu)設(shè)計(jì)階段 30
2.5.5 數(shù)據(jù)庫實(shí)施階段 30
2.5.6 數(shù)據(jù)庫運(yùn)行和維護(hù)階段 31
習(xí)題2 31
第3章 安裝和配置MySQL 32
3.1 MySQL簡介 32
3.2 MySQL的下載和安裝 32
3.3 MySQL客戶端程序 33
3.3.1 命令行客戶端程序 33
3.3.2 圖形化客戶端程序Navicat for MySQL 35
習(xí)題3 36
第4章 數(shù)據(jù)庫的操作和字符集 37
4.1 MySQL數(shù)據(jù)庫的分類 37
4.2 數(shù)據(jù)庫的操作 37
4.2.1 創(chuàng)建數(shù)據(jù)庫 37
4.2.2 查看數(shù)據(jù)庫 38
4.2.3 選擇數(shù)據(jù)庫 38
4.2.4 修改數(shù)據(jù)庫 39
4.2.5 刪除數(shù)據(jù)庫 39
4.2.6 使用Navicat for MySQL操作數(shù)據(jù)庫 39
4.3 MySQL的字符集和校對規(guī)則 42
4.3.1 字符集 42
4.3.2 校對規(guī)則 45
4.3.3 字符編碼與校對規(guī)則的優(yōu)先級 46
4.4 MySQL命令行中\(zhòng)g與\G的作用 46
習(xí)題4 47
第5章 數(shù)據(jù)類型、表的操作和存儲(chǔ)引擎 48
5.1 數(shù)據(jù)類型 48
5.1.1 數(shù)值類型 48
5.1.2 字符串類型 50
5.1.3 日期和時(shí)間類型 51
5.1.4 二進(jìn)制類型 52
5.1.5 復(fù)合類型 52
5.2 表的操作 53
5.2.1 創(chuàng)建表 53
5.2.2 查看表 55
5.2.3 修改表 57
5.2.4 復(fù)制表結(jié)構(gòu) 59
5.2.5 刪除表 59
5.2.6 使用Navicat for MySQL操作表 59
5.3 MySQL的存儲(chǔ)引擎 62
5.3.1 常用的存儲(chǔ)引擎 62
5.3.2 查看存儲(chǔ)引擎 63
5.3.3 設(shè)置存儲(chǔ)引擎 64
習(xí)題5 64
第6章 數(shù)據(jù)完整性約束 66
6.1 數(shù)據(jù)完整性約束的概念 66
6.2 實(shí)體完整性約束 66
6.2.1 主鍵約束 66
6.2.2 唯一鍵約束 68
6.2.3 完整性約束的命名 70
6.3 參照完整性約束 71
6.3.1 相關(guān)概念 71
6.3.2 外鍵約束 72
6.4 用戶定義完整性約束 74
6.4.1 非空約束 74
6.4.2 默認(rèn)值約束 75
6.4.3 檢查約束 75
6.4.4 自增約束 76
6.5 更新完整性約束 76
6.5.1 刪除約束 76
6.5.2 添加約束 78
習(xí)題6 80
第7章 表記錄的操作 82
7.1 插入記錄 82
7.1.1 插入完整記錄 82
7.1.2 插入部分記錄 84
7.1.3 插入多條記錄 84
7.2 修改記錄 86
7.2.1 修改特定記錄 86
7.2.2 修改所有記錄 87
7.3 刪除記錄 87
7.3.1 刪除特定記錄 87
7.3.2 刪除所有記錄 87
7.4 使用Navicat for MySQL操作記錄 88
7.4.1 添加記錄 88
7.4.2 修改記錄 89
7.4.3 刪除記錄 89
習(xí)題7 89
第8章 記錄的查詢 91
8.1 單表查詢 91
8.1.1 單表查詢語句 91
8.1.2 查詢指定的記錄 93
8.1.3 對結(jié)果集的處理 96
8.1.4 聚合函數(shù)查詢 98
8.1.5 分組查詢 99
8.2 多表查詢 102
8.2.1 交叉連接查詢 103
8.2.2 內(nèi)連接查詢 104
8.2.3 外連接查詢 107
8.3 子查詢 108
8.3.1 子查詢的執(zhí)行過程和類型 108
8.3.2 標(biāo)量子查詢 109
8.3.3 表子查詢 110
8.3.4 列子查詢 111
8.3.5 利用子查詢插入、修改或刪除記錄 113
8.4 使用正則表達(dá)式查詢 114
8.5 合并結(jié)果集 116
習(xí)題8 116
第9章 索引 117
9.1 概述 117
9.1.1 索引的概念 117
9.1.2 索引的分類 118
9.1.3 設(shè)置索引的原則 119
9.1.4 查看索引 119
9.2 創(chuàng)建索引 120
9.2.1 創(chuàng)建索引的語句 120
9.2.2 創(chuàng)建索引的實(shí)例 122
9.3 使用索引 125
9.3.1 多列索引的使用 126
9.3.2 EXPLAIN語句 126
9.3.3 指定要使用的索引 127
9.4 刪除索引 127
9.4.1 DROP INDEX語句 127
9.4.2 ALTER TABLE語句 127
9.5 使用Navicat for MySQL管理索引 128
習(xí)題9 129
第10章 視圖 130
10.1 概述 130
10.2 創(chuàng)建視圖 130
10.2.1 創(chuàng)建視圖的語句 130
10.2.2 創(chuàng)建視圖的實(shí)例 131
10.3 查看視圖定義和查詢視圖記錄 133
10.3.1 查看視圖定義 133
10.3.2 查詢視圖記錄 134
10.4 更新視圖 135
10.4.1 更新視圖的說明 135
10.4.2 更新視圖的實(shí)例 135
10.5 修改視圖和刪除視圖 136
10.5.1 修改視圖 136
10.5.2 刪除視圖 137
習(xí)題10 137
第11章 MySQL編程基礎(chǔ) 138
11.1 標(biāo)識(shí)符 138
11.2 常量 138
11.3 變量 139
11.3.1 變量的三要素和變量的類型 139
11.3.2 全局變量 140
11.3.3 會(huì)話變量 142
11.3.4 用戶會(huì)話變量 143
11.4 運(yùn)算符與表達(dá)式 145
11.4.1 運(yùn)算符 145
11.4.2 運(yùn)算符的優(yōu)先級 148
11.4.3 表達(dá)式 148
11.5 系統(tǒng)函數(shù) 149
11.5.1 數(shù)值型函數(shù) 149
11.5.2 字符串函數(shù) 150
11.5.3 日期和時(shí)間函數(shù) 151
11.5.4 延時(shí)函數(shù) 151
11.5.5 流程控制函數(shù) 151
11.5.6 加密函數(shù) 151
11.5.7 系統(tǒng)信息函數(shù) 152
11.5.8 數(shù)據(jù)類型轉(zhuǎn)換函數(shù) 152
11.6 注釋、語句塊及DELIMITER語句 152
11.6.1 注釋 152
11.6.2 BEGIN…END語句塊 153
11.6.3 DELIMITER語句 153
11.7 自定義函數(shù) 154
11.7.1 創(chuàng)建自定義函數(shù) 154
11.7.2 調(diào)用自定義函數(shù) 156
11.7.3 查看函數(shù) 156
11.7.4 修改自定義函數(shù) 157
11.7.5 刪除自定義函數(shù) 157
11.8 控制流程語句 157
11.8.1 局部變量 157
11.8.2 條件控制語句 160
11.8.3 循環(huán)控制語句 164
習(xí)題11 166
第12章 存儲(chǔ)過程、異常處理和游標(biāo) 167
12.1 存儲(chǔ)過程 167
12.1.1 存儲(chǔ)過程的概念 167
12.1.2 創(chuàng)建存儲(chǔ)過程 167
12.1.3 調(diào)用存儲(chǔ)過程 169
12.1.4 創(chuàng)建和調(diào)用存儲(chǔ)過程的實(shí)例 169
12.1.5 查看存儲(chǔ)過程 170
12.1.6 修改存儲(chǔ)過程 172
12.1.7 刪除存儲(chǔ)過程 172
12.1.8 使用Navicat for MySQL管理存儲(chǔ)過程 173
12.1.9 存儲(chǔ)過程的各種參數(shù)應(yīng)用 173
12.2 異常處理 175
12.2.1 自定義異常名稱 176
12.2.2 自定義異常處理程序 176
12.3 使用游標(biāo)處理結(jié)果集 177
12.3.1 游標(biāo)的概念 177
12.3.2 定義游標(biāo) 177
12.3.3 打開游標(biāo) 178
12.3.4 使用游標(biāo) 178
12.3.5 關(guān)閉游標(biāo) 179
12.4 SIGNAL語句和RESIGNAL語句 180
12.4.1 SIGNAL語句 180
12.4.2 RESIGNAL語句 180
習(xí)題12 181
第13章 觸發(fā)器和事件 182
13.1 觸發(fā)器 182
13.1.1 觸發(fā)器的基本概念 182
13.1.2 創(chuàng)建觸發(fā)器 183
13.1.3 關(guān)鍵字OLD和NEW 184
13.1.4 查看觸發(fā)器 187
13.1.5 刪除觸發(fā)器 188
13.1.6 使用觸發(fā)器的注意事項(xiàng)和執(zhí)行順序 189
13.1.7 使用觸發(fā)器的實(shí)例 189
13.2 事件 190
13.2.1 概述 190
13.2.2 創(chuàng)建事件 190
13.2.3 創(chuàng)建事件的實(shí)例 192
13.2.4 查看事件 194
13.2.5 修改事件 195
13.2.6 關(guān)閉與啟動(dòng)事件 195
13.2.7 刪除事件 196
習(xí)題13 196
第14章 事務(wù)和鎖機(jī)制 197
14.1 事務(wù) 197
14.1.1 事務(wù)的概念 197
14.1.2 事務(wù)的特性 199
14.1.3 事務(wù)的分類 199
14.1.4 事務(wù)的管理 200
14.1.5 事務(wù)保存點(diǎn) 203
14.2 事務(wù)的隔離級別 204
14.2.1 訪問數(shù)據(jù)庫可能出現(xiàn)的問題 204
14.2.2 MySQL的4種隔離級別 205
14.2.3 查看隔離級別 206
14.2.4 修改隔離級別 207
14.2.5 定義事務(wù)的訪問模式 208
14.3 鎖機(jī)制 208
14.3.1 鎖的種類 208
14.3.2 InnoDB存儲(chǔ)引擎中的鎖和算法 208
14.3.3 鎖的管理 209
14.3.4 事務(wù)與鎖的關(guān)系 210
14.3.5 死鎖 210
習(xí)題14 210
第15章 日志 211
15.1 日志概述 211
15.2 二進(jìn)制日志 211
15.2.1 查看二進(jìn)制日志的設(shè)置 211
15.2.2 設(shè)置二進(jìn)制日志 213
15.2.3 生成新的二進(jìn)制日志 214
15.2.4 查看二進(jìn)制日志文件 214
15.2.5 刪除二進(jìn)制日志 215
15.2.6 顯示二進(jìn)制日志的事件信息 215
15.2.7 查看二進(jìn)制日志中的內(nèi)容 217
15.2.8 暫時(shí)停止二進(jìn)制日志功能 219
15.3 錯(cuò)誤日志 219
15.3.1 查看錯(cuò)誤日志的設(shè)置 219
15.3.2 設(shè)置錯(cuò)誤日志 220
15.3.3 查看錯(cuò)誤日志中的內(nèi)容 221
15.3.4 刪除錯(cuò)誤日志 221
15.4 通用查詢?nèi)罩?222
15.4.1 查看通用查詢?nèi)罩镜脑O(shè)置 222
15.4.2 設(shè)置通用查詢?nèi)罩?222
15.4.3 查看通用查詢?nèi)罩局械膬?nèi)容 223
15.4.4 刪除通用查詢?nèi)罩?223
15.5 慢查詢?nèi)罩?224
15.5.1 查看慢查詢?nèi)罩镜脑O(shè)置 224
15.5.2 設(shè)置慢查詢?nèi)罩?224
15.5.3 查看慢查詢?nèi)罩局械膬?nèi)容 225
15.5.4 刪除慢查詢?nèi)罩?225
習(xí)題15 225
第16章 備份和恢復(fù) 226
16.1 概述 226
16.1.1 數(shù)據(jù)庫備份的分類 226
16.1.2 數(shù)據(jù)庫恢復(fù)的方法 226
16.2 使用mysqldump命令備份數(shù)據(jù) 227
16.2.1 備份一個(gè)數(shù)據(jù)庫中的表 227
16.2.2 備份多個(gè)數(shù)據(jù)庫 228
16.2.3 備份所有數(shù)據(jù)庫 229
16.2.4 備份數(shù)據(jù)庫的表結(jié)構(gòu) 229
16.3 恢復(fù)數(shù)據(jù) 230
16.3.1 使用source命令恢復(fù)表和數(shù)據(jù)庫 230
16.3.2 使用mysql命令恢復(fù)表和數(shù)據(jù)庫 230
16.3.3 使用二進(jìn)制日志恢復(fù)數(shù)據(jù) 231
16.4 表記錄的導(dǎo)出與導(dǎo)入 232
16.4.1 使用SELECT…INTO OUTFILE語句導(dǎo)出文本文件 232
16.4.2 使用LOAD DATA INFILE語句導(dǎo)入文本文件 233
16.4.3 設(shè)置導(dǎo)出文件的路徑 234
16.4.4 使用mysqldump命令導(dǎo)出文件 234
16.4.5 使用mysql命令導(dǎo)出文件 234
16.5 使用Navicat for MySQL備份與恢復(fù)數(shù)據(jù)庫 234
16.5.1 備份數(shù)據(jù)庫 235
16.5.2 恢復(fù)數(shù)據(jù)庫 236
16.5.3 提取SQL文件 236
16.5.4 轉(zhuǎn)儲(chǔ)SQL文件 237
16.5.5 運(yùn)行SQL文件 237
習(xí)題16 238
第17章 用戶和權(quán)限管理 239
17.1 概述 239
17.1.1 數(shù)據(jù)庫的安全性 239
17.1.2 MySQL用戶 239
17.1.3 用戶和權(quán)限的實(shí)現(xiàn) 240
17.2 用戶和權(quán)限表 240
17.2.1 user表 241
17.2.2 db表 242
17.2.3 tables_priv表、columns_priv表和procs_priv表 243
17.3 用戶管理 243
17.3.1 添加普通用戶 243
17.3.2 查看用戶 244
17.3.3 修改用戶密碼 245
17.3.4 修改用戶名 247
17.3.5 刪除普通用戶 247
17.4 權(quán)限管理 248
17.4.1 權(quán)限級別 248
17.4.2 權(quán)限類型 248
17.4.3 查看權(quán)限 248
17.4.4 授予權(quán)限 249
17.4.5 收回權(quán)限 252
17.5 使用Navicat for MySQL管理用戶和權(quán)限 253
17.5.1 管理用戶賬號(hào) 253
17.5.2 管理權(quán)限 255
17.6 角色管理 255
習(xí)題17 257