本書以當(dāng)前流行的MySQL為平臺,系統(tǒng)介紹MySQL數(shù)據(jù)庫及其應(yīng)用開發(fā),全書內(nèi)容分為4個部分。第一部分MySQL基礎(chǔ),首先介紹數(shù)據(jù)庫基礎(chǔ)知識和MySQL環(huán)境構(gòu)建方法,然后分別介紹MySQL數(shù)據(jù)庫和表、MySQL查詢和視圖、MySQL索引與完整性約束、MySQL語言、MySQL過程式數(shù)據(jù)庫對象、MySQL數(shù)據(jù)庫備份與恢復(fù)、MySQL用戶權(quán)限與維護、MySQL事務(wù)管理等,并配套習(xí)題、實訓(xùn)和微課視頻。第二部分MySQL數(shù)據(jù)庫綜合實訓(xùn),主要是綜合應(yīng)用MySQL數(shù)據(jù)庫及其主要對象,并使用樣本數(shù)據(jù)測試各對象相互配合及其功能的正確性。第三部分MySQL數(shù)據(jù)庫綜合應(yīng)用開發(fā),主要基于PHP、Python和Android等流行平臺,使讀者通過系統(tǒng)實踐熟悉MySQL數(shù)據(jù)庫的應(yīng)用開發(fā)要領(lǐng)。3個應(yīng)用系統(tǒng)既是獨立的,又可組成一個完整的應(yīng)用系統(tǒng)。第四部分MySQL數(shù)據(jù)庫綜合應(yīng)用開發(fā)擴展,主要基于C#和JavaEE等平臺進行MySQL的綜合應(yīng)用開發(fā)實踐。
本書提供PPT教學(xué)課件、教學(xué)大綱、電子教案、習(xí)題參考答案、模擬試卷及參考答案等教學(xué)資源,用書教師可登錄人郵教育社區(qū)免費下載。
本書可作為大學(xué)本科、高職高專相關(guān)課程的專業(yè)教材,也可作為廣大數(shù)據(jù)庫應(yīng)用開發(fā)人員的參考用書。
1.暢銷書作者鄭阿奇,教材內(nèi)容質(zhì)量經(jīng)市場驗證。
2.基礎(chǔ)理論+實驗+綜合應(yīng)用實習(xí),助力讀者全面深刻理解MySQL數(shù)據(jù)庫原理與應(yīng)用方法。
3.提供基于PHP、JAVAEE、C#的開發(fā)案例,且每個實習(xí)實現(xiàn)功能相同,讀者可以實現(xiàn)舉一反三的學(xué)習(xí)效果。
4.學(xué)習(xí)本書,通過模仿即可獨立開發(fā)小型MySQL數(shù)據(jù)庫系統(tǒng)。
5.提供全套微課視頻,教學(xué)資源豐富。
鄭阿奇 鄭阿奇,南京師范大學(xué)計算機系副教授,南京師范大學(xué)中北學(xué)院信息系教學(xué)主任。1986年開始,在教學(xué)和科技開發(fā)的同時,一直在從事計算機應(yīng)用性和編程類教材的研究,先后編寫或主編計算機教材45本,其中系列教材3套。獲得國家教委優(yōu)秀教材二等獎、電子部優(yōu)秀教材二等獎、江蘇省暢銷圖書二等獎。參加主持國家863子項目,主持江蘇省、南京市、泰州市和橫向項目多項。獲江蘇省科技進步獎、江蘇省優(yōu)秀軟件獎、南京市創(chuàng)新成果獎、泰州市科技進步獎。2000年,主編的高等學(xué)校計算機系列教材、首次提出應(yīng)用性和編程類教材實用性和系列化的思想,得到全國廣大師生的廣泛好評,出版后一直暢銷,總碼洋3800萬以上。2005年,獲江蘇省優(yōu)秀教學(xué)成果二等獎,南京師范大學(xué)教學(xué)成果一等獎。2007年,被評為南京師范大學(xué)教學(xué)名師首批培養(yǎng)對象。Visual C++實用教程(第3版),電子工業(yè)出版社,累計銷售12萬。
目錄
第 一部分 MySQL基礎(chǔ)
第 1章 MySQL初步 1
1.1 數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)模型 1
1.1.1 數(shù)據(jù)庫系統(tǒng) 1
1.1.2 數(shù)據(jù)模型 2
1.2 數(shù)據(jù)庫設(shè)計 4
1.2.1 概念模型 4
1.2.2 邏輯模型 5
1.2.3 物理模型 6
1.3 數(shù)據(jù)庫應(yīng)用系統(tǒng) 6
1.3.1 數(shù)據(jù)庫應(yīng)用系統(tǒng)架構(gòu) 6
1.3.2 應(yīng)用系統(tǒng)的數(shù)據(jù)接口 7
1.4 MySQL數(shù)據(jù)庫 8
1.4.1 MySQL安裝運行 8
1.4.2 MySQL常用界面工具 10
習(xí)題 10
實訓(xùn) 11
第 2章 MySQL數(shù)據(jù)庫和表 12
2.1 MySQL數(shù)據(jù)庫 12
2.1.1 創(chuàng)建數(shù)據(jù)庫 12
2.1.2 修改數(shù)據(jù)庫 13
2.1.3 刪除數(shù)據(jù)庫 13
2.2 MySQL表 13
2.2.1 創(chuàng)建表 13
2.2.2 修改表 16
2.2.3 刪除表 16
2.3 表記錄的操作 17
2.3.1 插入記錄 17
2.3.2 修改記錄 19
2.3.3 刪除記錄 20
習(xí)題 21
實訓(xùn) 23
第3章 MySQL查詢和視圖 28
3.1 MySQL數(shù)據(jù)庫查詢 28
3.1.1 選擇輸出列 28
3.1.2 數(shù)據(jù)來源 33
3.1.3 查詢條件 36
3.1.4 分組 44
3.1.5 分組條件 45
3.1.6 排序 46
3.1.7 輸出行限制 48
3.1.8 聯(lián)合查詢 48
3.1.9 行瀏覽查詢 49
3.2 MySQL視圖 51
3.2.1 視圖概念 51
3.2.2 創(chuàng)建視圖 51
3.2.3 查詢視圖 52
3.2.4 更新視圖 53
3.2.5 修改視圖 55
3.2.6 刪除視圖 55
習(xí)題 55
實訓(xùn) 56
第4章 MySQL索引與完整性約束 63
4.1 MySQL索引 63
4.2 MySQL索引創(chuàng)建 64
4.3 MySQL數(shù)據(jù)完整性約束 66
4.3.1 主鍵約束 66
4.3.2 替代鍵約束 67
4.3.3 參照完整性約束 68
4.3.4 CHECK完整性約束 70
4.3.5 命名完整性約束 71
4.3.6 刪除完整性約束 71
習(xí)題 72
實訓(xùn) 73
第5章 MySQL語言 76
5.1 MySQL語言簡介 76
5.2 常量和變量 77
5.2.1 常量 77
5.2.2 變量 80
5.3 運算符與表達式 82
5.3.1 算術(shù)運算符 82
5.3.2 比較運算符 84
5.3.3 邏輯運算符 85
5.3.4 位運算符 86
5.3.5 運算符優(yōu)先級 87
5.3.6 表達式 87
5.4 系統(tǒng)內(nèi)置函數(shù) 88
5.4.1 數(shù)學(xué)函數(shù) 88
5.4.2 聚合函數(shù) 90
5.4.3 字符串函數(shù) 90
5.4.4 日期和時間函數(shù) 92
5.4.5 加密函數(shù) 94
5.4.6 控制流函數(shù) 95
5.4.7 格式化函數(shù) 96
5.4.8 類型轉(zhuǎn)換函數(shù) 97
5.4.9 系統(tǒng)信息函數(shù) 98
習(xí)題 99
實訓(xùn) 100
第6章 MySQL過程式數(shù)據(jù)庫對象 104
6.1 存儲過程 104
6.1.1 創(chuàng)建存儲過程 104
6.1.2 存儲過程體編程 106
6.1.3 游標(biāo)及其應(yīng)用 111
6.1.4 存儲過程的調(diào)用、刪除和修改 113
6.2 存儲函數(shù) 115
6.2.1 創(chuàng)建存儲函數(shù) 116
6.2.2 存儲函數(shù)的調(diào)用、刪除和修改 117
6.3 觸發(fā)器 118
6.4 事件 121
6.4.1 創(chuàng)建事件 121
6.4.2 修改和刪除事件 123
習(xí)題 123
實訓(xùn) 124
第7章 MySQL數(shù)據(jù)庫備份與恢復(fù) 128
7.1 常用的備份方法 128
7.1.1 使用SQL語句導(dǎo)出或?qū)氡頂?shù)據(jù) 128
7.1.2 使用客戶端程序備份數(shù)據(jù)庫 131
7.1.3 直接復(fù)制 133
7.2 日志文件 133
7.2.1 啟用日志 133
7.2.2 用mysqlbinlog工具處理日志 134
習(xí)題 135
實訓(xùn) 135
第8章 MySQL用戶權(quán)限與維護 137
8.1 用戶管理 137
8.1.1 添加、刪除用戶 137
8.1.2 修改用戶名、密碼 138
8.2 權(quán)限控制 139
8.2.1 授予權(quán)限 139
8.2.2 權(quán)限轉(zhuǎn)移和限制 142
8.2.3 權(quán)限回收 143
8.3 表維護語句 144
8.3.1 索引列可壓縮性語句 144
8.3.2 檢查表是否有錯誤語句 144
8.3.3 獲得表校驗和語句 145
8.3.4 優(yōu)化表語句 145
8.3.5 修復(fù)表語句 145
習(xí)題 146
實訓(xùn) 146
第9章 MySQL事務(wù)管理 148
9.1 事務(wù)屬性 148
9.2 事務(wù)處理 149
9.3 事務(wù)隔離級 151
習(xí)題 152
第二部分 MySQL數(shù)據(jù)庫綜合實訓(xùn)
實訓(xùn)0 數(shù)據(jù)庫綜合實訓(xùn) 153
P0.1 數(shù)據(jù)庫及其對象創(chuàng)建 153
P0.1.1 創(chuàng)建數(shù)據(jù)庫及其對象 153
P0.1.2 創(chuàng)建表 153
P0.1.3 創(chuàng)建表間記錄完整性約束 155
P0.1.4 創(chuàng)建觸發(fā)器 156
P0.1.5 創(chuàng)建存儲過程 157
P0.2 測試數(shù)據(jù)庫對象關(guān)系的正確性 158
P0.2.1 插入學(xué)生表記錄 158
P0.2.2 插入課程表記錄 159
P0.2.3 插入成績表記錄 159
P0.2.4 觸發(fā)器功能測試 159
P0.2.5 表間記錄完整性約束測試 160
P0.2.6 存儲過程的功能測試 160
P0.3 功能和界面 160
P0.3.1 系統(tǒng)主頁 160
P0.3.2 “學(xué)生管理”功能界面 161
P0.3.3 “課程管理”功能界面 161
P0.3.4 “成績管理”功能界面 162
第三部分 MySQL數(shù)據(jù)庫綜合應(yīng)用開發(fā)
實訓(xùn)1 PHP/MySQL學(xué)生成績管理系統(tǒng) 163
P1.1 PHP開發(fā)平臺搭建 163
P1.1.1 創(chuàng)建PHP環(huán)境 163
P1.1.2 Eclipse安裝與配置 163
P1.2 PHP開發(fā)入門 164
P1.2.1 PHP項目的建立 164
P1.2.2 PHP項目的運行 164
P1.2.3 PHP連接MySQL 166
P1.3 系統(tǒng)主頁設(shè)計 166
P1.3.1 主界面 166
P1.3.2 功能導(dǎo)航 168
P1.4 學(xué)生管理 168
P1.4.1 界面設(shè)計 168
P1.4.2 功能實現(xiàn) 172
P1.5 成績管理 174
P1.5.1 界面設(shè)計 174
P1.5.2 功能實現(xiàn) 176
P1.6 課程管理 177
實訓(xùn)2 Python/MySQL學(xué)生成績管理系統(tǒng) 179
P2.1 Python環(huán)境安裝 179
P2.1.1 安裝Python環(huán)境 179
P2.1.2 安裝MySQL驅(qū)動庫 179
P2.2 Python程序開發(fā) 180
P2.2.1 開發(fā)前的準(zhǔn)備工作 180
P2.2.2 實現(xiàn)思路 181
P2.2.3 功能代碼 181
P2.2.4 運行效果 185
實訓(xùn)3 Android Studio/MySQL學(xué)生成績管理系統(tǒng) 186
P3.1 環(huán)境搭建 186
P3.1.1 基本原理 186
P3.1.2 開發(fā)工具安裝 187
P3.1.3 MySQL數(shù)據(jù)庫準(zhǔn)備 187
P3.2 服務(wù)器端Servlet程序開發(fā) 188
P3.2.1 創(chuàng)建動態(tài)Web項目 188
P3.2.2 編寫Servlet程序 189
P3.2.3 打包部署 194
P3.3 移動端Android程序開發(fā) 195
P3.3.1 創(chuàng)建Android工程 195
P3.3.2 設(shè)計界面 196
P3.3.3 編寫移動端代碼 197
P3.3.4 運行測試 201
第四部分 MySQL數(shù)據(jù)庫綜合應(yīng)用開發(fā)擴展
實訓(xùn)4 C#/MySQL學(xué)生成績管理系統(tǒng) 205
實訓(xùn)5 JavaEE/MySQL學(xué)生成績管理系統(tǒng) 205
附錄 學(xué)生成績(xscj)數(shù)據(jù)庫中的表結(jié)構(gòu)及樣本數(shù)據(jù)記錄 206