定 價:43 元
叢書名:普通高等學(xué)校計算機(jī)教育“十二五”規(guī)劃教材
- 作者:付森 石亮 主編
- 出版時間:2014/8/1
- ISBN:9787115352996
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.138
- 頁碼:250
- 紙張:膠版紙
- 版次:1
- 開本:16開
本書作為MySQL課程的教材,系統(tǒng)全面地介紹了有關(guān)MySQL數(shù)據(jù)庫應(yīng)用開發(fā)所涉及的各類知識。全書共分16章,內(nèi)容包括數(shù)據(jù)庫基礎(chǔ)、MySQL概述、MySQL語言基礎(chǔ)、數(shù)據(jù)庫和表的操作、數(shù)據(jù)庫的查詢、索引、視圖、數(shù)據(jù)完整性約束、存儲過程與存儲函數(shù)、觸發(fā)器、事件、備份與恢復(fù)、MySQL性能優(yōu)化、權(quán)限管理及安全控制、使用PHP管理MySQL數(shù)據(jù)庫中的數(shù)據(jù)和綜合案例—日記本程序。全書每章內(nèi)容都與實例緊密結(jié)合,有助于學(xué)生理解知識、應(yīng)用知識,達(dá)到學(xué)以致用的目的。
本書附有配套DVD光盤。光盤中提供本書的所有實例、綜合實例、實驗、綜合案例和課程設(shè)計的源代碼及教學(xué)錄像。其中,源代碼全部經(jīng)過精心測試,能夠在Windows XP、Windows Server 2003、Windows 7系統(tǒng)下編譯和運(yùn)行。
本書可作為應(yīng)用型本科計算機(jī)專業(yè)、軟件學(xué)院、高職軟件專業(yè)及相關(guān)專業(yè)的教材,同時也適合參加全國計算機(jī)等級考試二級MySQL數(shù)據(jù)庫程序的考生參考使用。
1.傳統(tǒng)寫法,最受授課老師歡迎。 2.案例豐富,作者能提供的案例多于書上案例的數(shù)量。 3.配套光盤內(nèi)容豐富實用,既適合課堂教學(xué),又適合學(xué)生課下自學(xué)。
目 錄
第1章 數(shù)據(jù)庫基礎(chǔ) 1
1.1 數(shù)據(jù)庫系統(tǒng)概述 1
1.1.1 數(shù)據(jù)庫技術(shù)的發(fā)展 1
1.1.2 數(shù)據(jù)庫系統(tǒng)的組成 2
1.2 數(shù)據(jù)模型 2
1.2.1 數(shù)據(jù)模型的概念 2 目 錄
第1章 數(shù)據(jù)庫基礎(chǔ) 1
1.1 數(shù)據(jù)庫系統(tǒng)概述 1
1.1.1 數(shù)據(jù)庫技術(shù)的發(fā)展 1
1.1.2 數(shù)據(jù)庫系統(tǒng)的組成 2
1.2 數(shù)據(jù)模型 2
1.2.1 數(shù)據(jù)模型的概念 2
1.2.2 常見的數(shù)據(jù)模型 2
1.2.3 關(guān)系數(shù)據(jù)庫的規(guī)范化 4
1.2.4 關(guān)系數(shù)據(jù)庫的設(shè)計原則 4
1.2.5 實體與關(guān)系 5
1.3 數(shù)據(jù)庫的體系結(jié)構(gòu) 5
1.3.1 數(shù)據(jù)庫三級模式結(jié)構(gòu) 5
1.3.2 三級模式之間的映射 5
知識點提煉 6
習(xí)題 6
第2章 MySQL概述 7
2.1 為什么選擇MySQL數(shù)據(jù)庫 7
2.1.1 什么是MySQL數(shù)據(jù)庫 7
2.1.2 MySQL的優(yōu)勢 8
2.1.3 MySQL的發(fā)展史 8
2.2 MySQL的特性 8
2.3 MySQL服務(wù)器的安裝與配置 9
2.3.1 MySQL的下載 9
2.3.2 MySQL的環(huán)境安裝 11
2.3.3 啟動、連接、斷開和停止MySQL服務(wù)器 15
2.4 MySQL Workbench圖形化管理工具 18
2.4.1 MySQL Workbench的安裝 19
2.4.2 創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表 20
2.4.3 添加數(shù)據(jù) 22
2.4.4 數(shù)據(jù)的導(dǎo)入和導(dǎo)出 23
2.5 phpMyAdmin圖形化管理工具 25
2.5.1 數(shù)據(jù)庫操作管理 25
2.5.2 管理數(shù)據(jù)表 27
2.5.3 管理數(shù)據(jù)記錄 28
2.5.4 使用phpMyAdmin設(shè)置編碼格式 32
2.5.5 使用phpMyAdmin添加服務(wù)器新用戶 33
2.5.6 在phpMyAdmin中重置MySQL服務(wù)器登錄密碼 34
2.6 綜合實例——使用phpMyAdmin導(dǎo)入導(dǎo)出數(shù)據(jù) 35
知識點提煉 36
習(xí)題 36
實驗:下載并安裝MySQL服務(wù)器 36
第3章 MySQL語言基礎(chǔ) 38
3.1 數(shù)據(jù)類型 38
3.1.1 數(shù)字類型 38
3.1.2 字符串類型 39
3.1.3 日期和時間數(shù)據(jù)類型 40
3.2 運(yùn)算符 41
3.2.1 算術(shù)運(yùn)算符 41
3.2.2 比較運(yùn)算符 42
3.2.3 邏輯運(yùn)算符 46
3.2.4 位運(yùn)算符 48
3.2.5 運(yùn)算符的優(yōu)先級 48
3.3 流程控制語句 49
3.3.1 IF語句 49
3.3.2 CASE語句 50
3.3.3 WHILE循環(huán)語句 51
3.3.4 LOOP循環(huán)語句 53
3.3.5 REPEAT循環(huán)語句 54
3.4 綜合實例——邏輯運(yùn)算的使用 55
知識點提煉 55
習(xí)題 56
實驗:位運(yùn)算的比較 56
第4章 數(shù)據(jù)庫和表的操作 57
4.1 數(shù)據(jù)庫操作 57
4.1.1 創(chuàng)建數(shù)據(jù)庫 57
4.1.2 查看數(shù)據(jù)庫 58
4.1.3 選擇數(shù)據(jù)庫 58
4.1.4 刪除數(shù)據(jù)庫 59
4.2 數(shù)據(jù)表操作 59
4.2.1 創(chuàng)建數(shù)據(jù)表 59
4.2.2 查看表結(jié)構(gòu) 61
4.2.3 修改表結(jié)構(gòu) 62
4.2.4 重命名表 63
4.2.5 刪除表 63
4.3 語句操作 64
4.3.1 插入記錄 64
4.3.2 查詢數(shù)據(jù)庫記錄 64
4.3.3 修改記錄 68
4.3.4 刪除記錄 68
4.4 綜合實例——查詢名稱中包含“PHP”的圖書信息 69
知識點提煉 69
習(xí)題 70
實驗:操作teacher表 70
第5章 數(shù)據(jù)庫的查詢 72
5.1 基本查詢語句 72
5.2 單表查詢 74
5.2.1 查詢所有字段 74
5.2.2 查詢指定字段 74
5.2.3 查詢指定數(shù)據(jù) 75
5.2.4 帶IN關(guān)鍵字的查詢 75
5.2.5 帶BETWEEN AND的范圍查詢 76
5.2.6 帶LIKE的字符匹配查詢 77
5.2.7 用IS NULL關(guān)鍵字查詢空值 77
5.2.8 帶AND的多條件查詢 78
5.2.9 帶OR的多條件查詢 78
5.2.10 用DISTINCT關(guān)鍵字去除結(jié)果中的重復(fù)行 79
5.2.11 用ORDER BY關(guān)鍵字對查詢結(jié)果排序 79
5.2.12 用GROUP BY關(guān)鍵字分組查詢 80
5.2.13 用LIMIT限制查詢結(jié)果的數(shù)量 82
5.3 聚合函數(shù)查詢 82
5.3.1 COUNT()函數(shù) 83
5.3.2 SUM()函數(shù) 83
5.3.3 AVG()函數(shù) 84
5.3.4 MAX()函數(shù) 84
5.3.5 MIN()函數(shù) 85
5.4 連接查詢 85
5.4.1 內(nèi)連接查詢 85
5.4.2 外連接查詢 87
5.4.3 復(fù)合條件連接查詢 88
5.5 子查詢 88
5.5.1 帶IN關(guān)鍵字的子查詢 89
5.5.2 帶比較運(yùn)算符的子查詢 90
5.5.3 帶EXISTS關(guān)鍵字的子查詢 91
5.5.4 帶ANY關(guān)鍵字的子查詢 92
5.5.5 帶ALL關(guān)鍵字的子查詢 93
5.6 合并查詢結(jié)果 93
5.7 定義表和字段的別名 95
5.7.1 為表取別名 95
5.7.2 為字段取別名 95
5.8 使用正則表達(dá)式查詢 96
5.8.1 匹配指定字符中的任意一個 97
5.8.2 使用“*”和“+”來匹配多個字符 97
5.9 綜合實例——使用正則表達(dá)式查詢學(xué)生成績信息 98
知識點提煉 98
習(xí)題 99
實驗:使用比較運(yùn)算符進(jìn)行子查詢 99
第6章 索引 101
6.1 索引概述 101
6.1.1 MySQL索引概述 101
6.1.2 MySQL索引分類 102
6.2 創(chuàng)建索引 102
6.2.1 在建立數(shù)據(jù)表時創(chuàng)建索引 103
6.2.2 在已建立的數(shù)據(jù)表中創(chuàng)建索引 107
6.2.3 修改數(shù)據(jù)表結(jié)構(gòu)添加索引 110
6.3 刪除索引 112
6.4 綜合實例——使用ALTER TABLE語句創(chuàng)建全文索引 113
知識點提煉 114
習(xí)題 114
實驗:刪除唯一性索引 114
第7章 視圖 116
7.1 視圖概述 116
7.1.1 視圖的概念 116
7.1.2 視圖的作用 117
7.2 創(chuàng)建視圖 117
7.2.1 查看創(chuàng)建視圖的權(quán)限 117
7.2.2 創(chuàng)建視圖 118
7.2.3 創(chuàng)建視圖的注意事項 119
7.3 視圖操作 119
7.3.1 查看視圖 119
7.3.2 修改視圖 121
7.3.3 更新視圖 123
7.3.4 刪除視圖 125
7.4 綜合實例——使用視圖查詢學(xué)生信息表 126
知識點提煉 127
習(xí)題 128
實驗:在單表上創(chuàng)建視圖 128
第8章 數(shù)據(jù)完整性約束 129
8.1 定義完整性約束 129
8.1.1 實體完整性 129
8.1.2 參照完整性 132
8.1.3 用戶定義的完整性 134
8.2 命名完整性約束 136
8.3 更新完整性約束 138
8.3.1 刪除完整性約束 138
8.3.2 修改完整性約束 138
8.4 綜合實例——在創(chuàng)建表時添加命名外鍵完整性約束 139
知識點提煉 140
習(xí)題 141
實驗:添加命名完整性約束 141
第9章 存儲過程與存儲函數(shù) 143
9.1 創(chuàng)建存儲過程和存儲函數(shù) 143
9.1.1 創(chuàng)建存儲過程 143
9.1.2 創(chuàng)建存儲函數(shù) 145
9.1.3 變量的應(yīng)用 146
9.1.4 光標(biāo)的運(yùn)用 149
9.2 存儲過程和存儲函數(shù)的調(diào)用 150
9.2.1 調(diào)用存儲過程 150
9.2.2 調(diào)用存儲函數(shù) 151
9.3 查看存儲過程和存儲函數(shù) 151
9.3.1 SHOW STATUS語句 151
9.3.2 SHOW CREATE語句 151
9.4 修改存儲過程和存儲函數(shù) 152
9.5 刪除存儲過程和存儲函數(shù) 153
9.6 綜合實例——使用存儲過程實現(xiàn)用戶注冊 153
知識點提煉 155
習(xí)題 155
實驗:修改存儲函數(shù) 155
第10章 觸發(fā)器 157
10.1 MySQL觸發(fā)器 157
10.1.1 創(chuàng)建MySQL觸發(fā)器 157
10.1.2 創(chuàng)建具有多個執(zhí)行語句的觸發(fā)器 158
10.2 查看觸發(fā)器 160
10.2.1 SHOW TRIGGERS 160
10.2.2 查看triggers表中的觸發(fā)器信息 161
10.3 使用觸發(fā)器 161
10.4 刪除觸發(fā)器 162
10.5 綜合實例——創(chuàng)建一個由INSERT觸發(fā)的觸發(fā)器 163
知識點提煉 164
習(xí)題 164
實驗:使用DROP TIRGGER刪除觸發(fā)器 165
第11章 事件 166
11.1 事件概述 166
11.1.1 查看事件是否開啟 166
11.1.2 開啟事件 167
11.2 創(chuàng)建事件 168
11.3 修改事件 170
11.4 刪除事件 172
11.5 綜合實例——創(chuàng)建定時統(tǒng)計會員人數(shù)的事件 172
知識點提煉 173
習(xí)題 173
實驗:每個月清空一次數(shù)據(jù)表 174
第12章 備份與恢復(fù) 175
12.1 數(shù)據(jù)備份 175
12.1.1 使用mysqldump命令備份 175
12.1.2 直接復(fù)制整個數(shù)據(jù)庫目錄 177
12.1.3 使用mysqlhotcopy工具快速備份 177
12.2 數(shù)據(jù)恢復(fù) 178
12.2.1 使用mysql命令還原 178
12.2.2 直接復(fù)制到數(shù)據(jù)庫目錄 179
12.3 數(shù)據(jù)庫遷移 179
12.3.1 相同版本的MySQL數(shù)據(jù)庫之間的遷移 180
12.3.2 不同數(shù)據(jù)庫之間的遷移 180
12.4 表的導(dǎo)出和導(dǎo)入 180
12.4.1 用SELECT ...INTO OUTFILE導(dǎo)出文本文件 181
12.4.2 用mysqldump命令導(dǎo)出文本文件 181
12.4.3 用mysql命令導(dǎo)出文本文件 182
12.5 綜合實例——將表中的內(nèi)容導(dǎo)出到文件中 184
知識點提煉 184
習(xí)題 184
實驗:導(dǎo)出XML文件 185
第13章 MySQL性能優(yōu)化 186
13.1 優(yōu)化概述 186
13.2 優(yōu)化查詢 187
13.2.1 分析查詢語句 187
13.2.2 索引對查詢速度的影響 188
13.2.3 使用索引查詢 189
13.3 優(yōu)化數(shù)據(jù)庫結(jié)構(gòu) 191
13.3.1 將字段很多的表分解成多個表 191
13.3.2 增加中間表 192
13.3.3 優(yōu)化插入記錄的速度 193
13.3.4 分析表、檢查表和優(yōu)化表 194
13.4 查詢高速緩存 195
13.4.1 檢驗高速緩存是否開啟 195
13.4.2 使用高速緩存 196
13.5 優(yōu)化多表查詢 197
13.6 優(yōu)化表設(shè)計 198
13.7 綜合實例——查看MySQL服務(wù)器的連接和查詢次數(shù) 198
知識點提煉 199
習(xí)題 199
實驗:優(yōu)化表 200
第14章 權(quán)限管理及安全控制 201
14.1 安全保護(hù)策略概述 201
14.2 用戶和權(quán)限管理 202
14.2.1 使用CREATE USER命令創(chuàng)建用戶 202
14.2.2 使用DROP USER命令刪除用戶 203
14.2.3 使用RENAME USER命令重命名用戶 203
14.2.4 GRANT和REVOKE命令 203
14.3 MySQL數(shù)據(jù)庫安全常見問題 206
14.3.1 權(quán)限更改何時生效 206
14.3.2 設(shè)置賬戶密碼 206
14.3.3 使密碼更安全 207
14.4 狀態(tài)文件和日志文件 208
14.4.1 進(jìn)程ID文件 208
14.4.2 日志文件管理 208
14.5 綜合實例——刪除名稱為mrkj的用戶 215
知識點提煉 216
習(xí)題 216
實驗:為mr用戶設(shè)置密碼 216
第15章 使用PHP管理MySQL數(shù)據(jù)庫中的數(shù)據(jù) 218
15.1 PHP語言概述 218
15.1.1 什么是PHP 218
15.1.2 為什么選擇PHP 218
15.1.3 PHP的工作原理 220
15.1.4 PHP結(jié)合數(shù)據(jù)庫應(yīng)用的優(yōu)勢 220
15.2 使用PHP操作MySQL數(shù)據(jù)庫的步驟 221
15.3 使用PHP操作MySQL數(shù)據(jù)庫 221
15.3.1 使用mysql_connect()函數(shù)連接MySQL服務(wù)器 221
15.3.2 使用mysql_select_db()函數(shù)選擇MySQL數(shù)據(jù)庫 222
15.3.3 使用mysql_query()函數(shù)執(zhí)行SQL語句 222
15.3.4 使用mysql_fetch_array()函數(shù)將結(jié)果集返回到數(shù)組中 223
15.3.5 使用mysql_fetch_row()函數(shù)從結(jié)果集中獲取一行作為枚舉數(shù)組 223
15.3.6 使用mysql_num_rows()函數(shù)獲取查詢結(jié)果集中的記錄數(shù) 223
15.3.7 使用mysql_free_result()函數(shù)釋放內(nèi)存 223
15.3.8 使用mysql_close()函數(shù)關(guān)閉連接 224
15.4 使用PHP管理MySQL數(shù)據(jù)庫中的數(shù)據(jù) 224
15.4.1 向數(shù)據(jù)庫中添加數(shù)據(jù) 224
15.4.2 瀏覽數(shù)據(jù)庫中數(shù)據(jù) 225
15.4.3 編輯數(shù)據(jù)庫數(shù)據(jù) 225
15.4.4 刪除數(shù)據(jù) 227
15.4.5 批量刪除數(shù)據(jù) 228
15.5 常見問題與解決方法 230
15.6 綜合實例——將數(shù)據(jù)以二進(jìn)制形式上傳到數(shù)據(jù)庫 232
知識點提煉 233
習(xí)題 234
實驗:使用MySQL存儲過程實現(xiàn)用戶登錄 234
第16章 綜合案例——日記本程序 236
16.1 概述 236
16.2 系統(tǒng)設(shè)計 236
16.2.1 系統(tǒng)目標(biāo) 236
16.2.2 系統(tǒng)功能結(jié)構(gòu) 236
16.2.3 系統(tǒng)預(yù)覽 236
16.3 數(shù)據(jù)庫設(shè)計 238
16.3.1 創(chuàng)建數(shù)據(jù)庫 238
16.3.2 連接數(shù)據(jù)庫 239
16.4 用戶登錄 239
16.5 發(fā)表日記 240
16.6 分頁顯示日記列表 242
16.7 彈出窗口修改日記 244
16.8 查詢?nèi)沼洝?45
16.9 應(yīng)用JavaScript實現(xiàn)批量刪除 248
16.10 小結(jié) 250