MySQL開發與實踐

本書作為MySQL課程的教材,系統全面地介紹了有關MySQL資料庫套用開發所涉及的各類知識。全書共分16章,內容包括資料庫基礎、MySQL概述、MySQL語言基礎、資料庫和表的操作、資料庫的查詢、索引、視圖、數據完整性約束、存儲過程與存儲函式、觸發器、事件、備份與恢復、MySQL性能最佳化、許可權管理及安全控制、使用PHP管理MySQL資料庫中的數據和綜合案例—日記本程式。全書每章內容都與實例緊密結合,有助於學生理解知識、套用知識,達到學以致用的目的。 本書附有配套DVD光碟。光碟中提供本書的所有實例、綜合實例、實驗、綜合案例和課程設計的原始碼及教學錄像。其中,原始碼全部經過精心測試,能夠在Windows XP、Windows Server 2003、Windows 7系統下編譯和運行。 本書可作為套用型本科計算機專業、軟體學院、高職軟體專業及相關專業的教材,同時也適合參加全國計算機等級考試二級MySQL資料庫程式的考生參考使用。

基本介紹

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

相關詞條

熱門詞條

聯絡我們