MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程
定 價(jià):45 元
叢書名:工業(yè)和信息化普通高等教育“十二五”規(guī)劃教材 21世紀(jì)高等教育計(jì)算機(jī)規(guī)劃教材
- 作者:孔祥盛 編
- 出版時(shí)間:2014/6/1
- ISBN:9787115353382
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.138
- 頁(yè)碼:319
- 紙張:膠版紙
- 版次:1
- 開本:16K
作為世界上最受歡迎的開源數(shù)據(jù)庫(kù)之一,MySQL由于其性能優(yōu)越、功能強(qiáng)大,受到了廣大自由軟件愛(ài)好者甚至是商業(yè)軟件用戶的青睞。本書以講解MySQL基礎(chǔ)知識(shí)為目標(biāo),以案例的實(shí)現(xiàn)為載體,以不同的章節(jié)完成不同的任務(wù)為理念,深入講解關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)、MySQL基礎(chǔ)知識(shí)以及MySQL編程知識(shí)。
本書內(nèi)容豐富、講解深入,適用于初學(xué)者快速上手,特別適合用作各類院校相關(guān)專業(yè)的教材。本書入門門檻低,非常適合用作培訓(xùn)機(jī)構(gòu)的培訓(xùn)教材,也適用于計(jì)算機(jī)二級(jí)考試MySQL 數(shù)據(jù)庫(kù)程序設(shè)計(jì)的培訓(xùn)教材,同時(shí)也是一本面向廣大MySQL愛(ài)好者的實(shí)用參考書。
1、滿足計(jì)算機(jī)等級(jí)考試二級(jí)MySQL的需求
2、網(wǎng)上選課系統(tǒng)開發(fā)貫穿全書,并包括所有知識(shí)點(diǎn)
3、注重軟件工程在數(shù)據(jù)庫(kù)中的應(yīng)用
目 錄
第一篇 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)
第1章 數(shù)據(jù)庫(kù)設(shè)計(jì)概述 2
1.1 數(shù)據(jù)庫(kù)概述 2
1.1.1 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng) 2
1.1.2 關(guān)系數(shù)據(jù)庫(kù) 3
1.1.3 結(jié)構(gòu)化查詢語(yǔ)言SQL 4
1.2 數(shù)據(jù)庫(kù)設(shè)計(jì)的相關(guān)知識(shí) 5
1.2.1 商業(yè)知識(shí)和溝通技能 5
1.2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)輔助工具 6
1.2.3 “選課系統(tǒng)”概述 7
1.2.4 定義問(wèn)題域 8
1.2.5 編碼規(guī)范 8
1.3 E-R圖 9
1.3.1 實(shí)體和屬性 10
1.3.2 關(guān)系 10
1.3.3 E-R圖的設(shè)計(jì)原則 12
1.4 關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì) 15
1.4.1 為每個(gè)實(shí)體建立一張數(shù)據(jù)庫(kù)表 15
1.4.2 為每張表定義一個(gè)主鍵 16
1.4.3 增加外鍵表示一對(duì)多關(guān)系 17
1.4.4 建立新表表示多對(duì)多關(guān)系 19
1.4.5 為字段選擇合適的數(shù)據(jù)類型 20
1.4.6 定義約束(constraint)條件 20
1.4.7 評(píng)價(jià)數(shù)據(jù)庫(kù)表設(shè)計(jì)的質(zhì)量 22
1.4.8 使用規(guī)范化減少數(shù)據(jù)冗余 22
1.4.9 避免數(shù)據(jù)經(jīng)常發(fā)生變化 26
習(xí)題 28
第二篇 MySQL基礎(chǔ)
第2章 MySQL基礎(chǔ)知識(shí) 30
2.1 MySQL概述 30
2.1.1 MySQL的特點(diǎn) 30
2.1.2 MySQL服務(wù)的安裝 32
2.1.3 MySQL服務(wù)的配置 35
2.1.4 啟動(dòng)與停止MySQL服務(wù) 40
2.1.5 MySQL配置文件 41
2.1.6 MySQL客戶機(jī) 42
2.1.7 連接MySQL服務(wù)器 43
2.2 字符集以及字符序設(shè)置 45
2.2.1 字符集及字符序概念 45
2.2.2 MySQL字符集與字符序 45
2.2.3 MySQL字符集的轉(zhuǎn)換過(guò)程 47
2.2.4 MySQL字符集的設(shè)置 48
2.2.5 SQL腳本文件 49
2.3 MySQL數(shù)據(jù)庫(kù)管理 50
2.3.1 創(chuàng)建數(shù)據(jù)庫(kù) 50
2.3.2 查看數(shù)據(jù)庫(kù) 51
2.3.3 顯示數(shù)據(jù)庫(kù)結(jié)構(gòu) 52
2.3.4 選擇當(dāng)前操作的數(shù)據(jù)庫(kù) 52
2.3.5 刪除數(shù)據(jù)庫(kù) 52
2.4 MySQL表管理 53
2.4.1 MyISAM和InnoDB存儲(chǔ)引擎 53
2.4.2 設(shè)置默認(rèn)的存儲(chǔ)引擎 54
2.4.3 創(chuàng)建數(shù)據(jù)庫(kù)表 54
2.4.4 顯示表結(jié)構(gòu) 55
2.4.5 表記錄的管理 56
2.4.6 InnoDB表空間 59
2.4.7 刪除表 61
2.5 系統(tǒng)變量 61
2.5.1 全局系統(tǒng)變量與會(huì)話系統(tǒng)變量 61
2.5.2 查看系統(tǒng)變量的值 62
2.5.3 設(shè)置系統(tǒng)變量的值 64
2.6 MySQL數(shù)據(jù)庫(kù)備份和恢復(fù) 65
習(xí)題 67
第3章 MySQL表結(jié)構(gòu)的管理 68
3.1 MySQL數(shù)據(jù)類型 68
3.1.1 MySQL整數(shù)類型 68
3.1.2 MySQL小數(shù)類型 69
3.1.3 MySQL字符串類型 70
3.1.4 MySQL日期類型 71
3.1.5 MySQL復(fù)合類型 73
3.1.6 MySQL二進(jìn)制類型 75
3.1.7 選擇合適的數(shù)據(jù)類型 75
3.2 創(chuàng)建表 76
3.2.1 設(shè)置約束 77
3.2.2 設(shè)置自增型字段 81
3.2.3 其他選項(xiàng)的設(shè)置 81
3.2.4 創(chuàng)建“選課系統(tǒng)”數(shù)據(jù)庫(kù)表 82
3.2.5 復(fù)制一個(gè)表結(jié)構(gòu) 83
3.3 修改表結(jié)構(gòu) 84
3.3.1 修改字段相關(guān)信息 84
3.3.2 修改約束條件 85
3.3.3 修改表的其他選項(xiàng) 87
3.3.4 修改表名 87
3.4 刪除表 87
3.5 索引 88
3.5.1 理解索引 88
3.5.2 索引關(guān)鍵字的選取原則 91
3.5.3 索引與約束 92
3.5.4 創(chuàng)建索引 93
3.5.5 刪除索引 94
習(xí)題 95
第4章 表記錄的更新操作 96
4.1 表記錄的插入 96
4.1.1 使用insert語(yǔ)句插入新記錄 96
4.1.2 更新操作與字符集 99
4.1.3 關(guān)于自增型字段 100
4.1.4 批量插入多條記錄 100
4.1.5 使用insert…select插入結(jié)果集 101
4.1.6 使用replace插入新記錄 102
4.2 表記錄的修改 103
4.3 表記錄的刪除 103
4.3.1 使用delete刪除表記錄 103
4.3.2 使用truncate清空表記錄 104
4.4 MySQL特殊字符序列 106
習(xí)題 108
第5章 表記錄的檢索 109
5.1 select語(yǔ)句概述 109
5.1.1 使用select子句指定字段列表 110
5.1.2 使用謂詞過(guò)濾記錄 111
5.1.3 使用from子句指定數(shù)據(jù)源 112
5.1.4 多表連接 115
5.2 使用where子句過(guò)濾結(jié)果集 116
5.2.1 使用單一的條件過(guò)濾結(jié)果集 116
5.2.2 is NULL運(yùn)算符 117
5.2.3 select語(yǔ)句與字符集 118
5.2.4 使用邏輯運(yùn)算符 119
5.2.5 使用like進(jìn)行模糊查詢 121
5.3 使用order by子句對(duì)結(jié)果集排序 122
5.4 使用聚合函數(shù)匯總結(jié)果集 123
5.5 使用group by子句對(duì)記錄分組統(tǒng)計(jì) 125
5.5.1 group by子句與聚合函數(shù) 125
5.5.2 group by子句與having子句 126
5.5.3 group by子句與group_concat()函數(shù) 127
5.5.4 group by子句與with rollup選項(xiàng) 127
5.6 合并結(jié)果集 128
5.7 子查詢 129
5.7.1 子查詢與比較運(yùn)算符 129
5.7.2 子查詢與in運(yùn)算符 131
5.7.3 子查詢與exists邏輯運(yùn)算符 132
5.7.4 子查詢與any運(yùn)算符 133
5.7.5 子查詢與all運(yùn)算符 133
5.8 選課系統(tǒng)綜合查詢 134
5.9 使用正則表達(dá)式模糊查詢 138
5.10 全文檢索 139
5.10.1 全文檢索的簡(jiǎn)單應(yīng)用 140
5.10.2 全文檢索方式 144
5.10.3 布爾檢索模式的復(fù)雜應(yīng)用 144
5.10.4 MySQL全文檢索的注意事項(xiàng) 146
5.10.5 InnoDB表的全文檢索 146
習(xí)題 147
第三篇 MySQL編程
第6章 MySQL編程基礎(chǔ) 150
6.1 MySQL編程基礎(chǔ)知識(shí) 150
6.1.1 常量 150
6.1.2 用戶自定義變量 152
6.1.3 運(yùn)算符與表達(dá)式 157
6.1.4 begin-end語(yǔ)句塊 159
6.1.5 重置命令結(jié)束標(biāo)記 160
6.2 自定義函數(shù) 160
6.2.1 創(chuàng)建自定義函數(shù)的語(yǔ)法格式 160
6.2.2 函數(shù)的創(chuàng)建與調(diào)用 161
6.2.3 函數(shù)的維護(hù) 163
6.2.4 條件控制語(yǔ)句 165
6.2.5 循環(huán)語(yǔ)句 167
6.3 系統(tǒng)函數(shù) 171
6.3.1 數(shù)學(xué)函數(shù) 171
6.3.2 字符串函數(shù) 173
6.3.3 數(shù)據(jù)類型轉(zhuǎn)換函數(shù) 180
6.3.4 條件控制函數(shù) 180
6.3.5 系統(tǒng)信息函數(shù) 182
6.3.6 日期和時(shí)間函數(shù) 183
6.3.7 其他常用的MySQL函數(shù) 189
6.4 中文全文檢索的模擬實(shí)現(xiàn) 191
習(xí)題 193
第7章 視圖與觸發(fā)器 195
7.1 視圖 195
7.1.1 創(chuàng)建視圖 195
7.1.2 查看視圖的定義 196
7.1.3 視圖在“選課系統(tǒng)”中的應(yīng)用 197
7.1.4 視圖的作用 198
7.1.5 刪除視圖 199
7.1.6 檢查視圖 199
7.1.7 local與cascade檢查視圖 200
7.2 觸發(fā)器 201
7.2.1 準(zhǔn)備工作 202
7.2.2 使用觸發(fā)器實(shí)現(xiàn)檢查約束 203
7.2.3 使用觸發(fā)器維護(hù)冗余數(shù)據(jù) 204
7.2.4 使用觸發(fā)器模擬外鍵級(jí)聯(lián)選項(xiàng) 205
7.2.5 查看觸發(fā)器的定義 206
7.2.6 刪除觸發(fā)器 207
7.2.7 使用觸發(fā)器的注意事項(xiàng) 207
7.3 臨時(shí)表 208
7.3.1 臨時(shí)表概述 208
7.3.2 臨時(shí)表的創(chuàng)建、查看與刪除 208
7.3.3 “選課系統(tǒng)”中臨時(shí)表的使用 209
7.3.4 使用臨時(shí)表的注意事項(xiàng) 210
7.4 派生表(derived table) 211
7.5 子查詢、視圖、臨時(shí)表、派生表 211
習(xí)題 213
第8章 存儲(chǔ)過(guò)程與游標(biāo) 214
8.1 存儲(chǔ)過(guò)程 214
8.1.1 創(chuàng)建存儲(chǔ)過(guò)程的語(yǔ)法格式 214
8.1.2 存儲(chǔ)過(guò)程的調(diào)用 215
8.1.3 “選課系統(tǒng)”的存儲(chǔ)過(guò)程 216
8.1.4 查看存儲(chǔ)過(guò)程的定義 220
8.1.5 刪除存儲(chǔ)過(guò)程 221
8.1.6 存儲(chǔ)過(guò)程與函數(shù)的比較 222
8.2 錯(cuò)誤觸發(fā)條件和錯(cuò)誤處理 223
8.2.1 自定義錯(cuò)誤處理程序 223
8.2.2 自定義錯(cuò)誤觸發(fā)條件 225
8.2.3 自定義錯(cuò)誤處理程序說(shuō)明 226
8.3 游標(biāo) 226
8.3.1 使用游標(biāo) 226
8.3.2 游標(biāo)在“選課系統(tǒng)”中的使用 227
8.4 預(yù)處理SQL語(yǔ)句 229
8.4.1 預(yù)處理SQL語(yǔ)句使用步驟 229
8.4.2 “選課系統(tǒng)”中預(yù)處理SQL語(yǔ)句的使用 230
8.4.3 預(yù)處理SQL語(yǔ)句的復(fù)雜應(yīng)用 231
8.4.4 靜態(tài)SQL語(yǔ)句與預(yù)處理SQL語(yǔ)句 233
8.5 存儲(chǔ)程序的說(shuō)明 234
習(xí)題 234
第9章 事務(wù)機(jī)制與鎖機(jī)制 235
9.1 事務(wù)機(jī)制 235
9.1.1 事務(wù)機(jī)制的必要性 235
9.1.2 關(guān)閉MySQL自動(dòng)提交 237
9.1.3 回滾 237
9.1.4 提交 239
9.1.5 事務(wù) 240
9.1.6 保存點(diǎn) 241
9.1.7 “選課系統(tǒng)”中的事務(wù) 243
9.2 鎖機(jī)制 246
9.2.1 鎖機(jī)制的必要性 246
9.2.2 MySQL鎖機(jī)制的基礎(chǔ)知識(shí) 248
9.2.3 MyISAM表的表級(jí)鎖 250
9.2.4 InnoDB表的行級(jí)鎖 253
9.2.5 “選課系統(tǒng)”中的行級(jí)鎖 255
9.2.6 InnoDB表的意向鎖 257
9.2.7 InnoDB行級(jí)鎖與索引之間的關(guān)系 258
9.2.8 間隙鎖與死鎖 261
9.2.9 死鎖與鎖等待 262
9.3 事務(wù)的ACID特性 264
9.3.1 事務(wù)的ACID特性 264
9.3.2 事務(wù)的隔離級(jí)別與并發(fā)問(wèn)題 265
9.3.3 設(shè)置事務(wù)的隔離級(jí)別 266
9.3.4 使用間隙鎖避免幻讀現(xiàn)象 271
9.4 事務(wù)與鎖機(jī)制注意事項(xiàng) 272
習(xí)題 273
第四篇 綜合實(shí)訓(xùn)
第10章 網(wǎng)上選課系統(tǒng)的開發(fā) 276
10.1 PHP預(yù)備知識(shí) 276
10.1.1 為何選用B/S結(jié)構(gòu)以及PHP腳本語(yǔ)言 276
10.1.2 PHP腳本語(yǔ)言概述 277
10.1.3 PHP腳本程序的工作流程 278
10.1.4 Web服務(wù)器的部署 280
10.1.5 注意事項(xiàng) 282
10.2 軟件開發(fā)生命周期SDLC 283
10.3 網(wǎng)上選課系統(tǒng)的系統(tǒng)規(guī)劃 283
10.3.1 網(wǎng)上選課系統(tǒng)的目標(biāo) 284
10.3.2 網(wǎng)上選課系統(tǒng)的可行性分析 284
10.3.3 網(wǎng)上選課系統(tǒng)的項(xiàng)目進(jìn)度表 284
10.3.4 網(wǎng)上選課系統(tǒng)的人員分工 285
10.4 網(wǎng)上選課系統(tǒng)的系統(tǒng)分析 286
10.4.1 網(wǎng)上選課系統(tǒng)的功能需求分析 286
10.4.2 網(wǎng)上選課系統(tǒng)的非功能需求分析 288
10.5 網(wǎng)上選課系統(tǒng)的系統(tǒng)設(shè)計(jì) 288
10.6 網(wǎng)上選課系統(tǒng)的系統(tǒng)實(shí)施 290
10.6.1 準(zhǔn)備工作 290
10.6.2 制作PHP連接MySQL服務(wù)器函數(shù) 291
10.6.3 制作PHP權(quán)限系統(tǒng)函數(shù) 293
10.6.4 首頁(yè)index.php的開發(fā) 294
10.6.5 教師注冊(cè)模塊的開發(fā) 295
10.6.6 登錄模塊的開發(fā) 298
10.6.7 注銷模塊的開發(fā) 300
10.6.8 添加班級(jí)模塊的開發(fā) 300
10.6.9 學(xué)生注冊(cè)模塊的開發(fā) 301
10.6.10 密碼重置模塊 303
10.6.11 申報(bào)課程模塊 304
10.6.12 課程列表顯示模塊 305
10.6.13 審核申報(bào)課程 307
10.6.14 取消已審核課程 308
10.6.15 瀏覽自己申報(bào)的課程 309
10.6.16 刪除課程 310
10.6.17 學(xué)生選修或者調(diào)換已經(jīng)審核的課程 310
10.6.18 查看自己選修的課程 311
10.6.19 取消選修課程 312
10.6.20 查看課程的學(xué)生信息列表 313
10.6.21 查看選修人數(shù)少于30人的課程信息 314
10.7 界面設(shè)計(jì)與MVC模式 315
10.8 網(wǎng)上選課系統(tǒng)的測(cè)試 317
習(xí)題 318
參考文獻(xiàn) 319