本書以當前流行的MySQL為平臺,系統(tǒng)介紹MySQL數(shù)據(jù)庫及其應用開發(fā),全書內(nèi)容分為4個部分。第一部分MySQL基礎,首先介紹數(shù)據(jù)庫基礎知識和MySQL環(huán)境構建方法,然后分別介紹MySQL數(shù)據(jù)庫和表、MySQL查詢和視圖、MySQL索引與完整性約束、MySQL語言、MySQL過程式數(shù)據(jù)庫對象、MySQL數(shù)據(jù)庫備份與恢復、MySQL用戶權限與維護、MySQL事務管理等,并配套習題、實訓和微課視頻。第二部分MySQL數(shù)據(jù)庫綜合實訓,主要是綜合應用MySQL數(shù)據(jù)庫及其主要對象,并使用樣本數(shù)據(jù)測試各對象相互配合及其功能的正確性。第三部分MySQL數(shù)據(jù)庫綜合應用開發(fā),主要基于PHP、Python和Android等流行平臺,使讀者通過系統(tǒng)實踐熟悉MySQL數(shù)據(jù)庫的應用開發(fā)要領。3個應用系統(tǒng)既是獨立的,又可組成一個完整的應用系統(tǒng)。第四部分MySQL數(shù)據(jù)庫綜合應用開發(fā)擴展,主要基于C#和JavaEE等平臺進行MySQL的綜合應用開發(fā)實踐。
本書提供PPT教學課件、教學大綱、電子教案、習題參考答案、模擬試卷及參考答案等教學資源,用書教師可登錄人郵教育社區(qū)免費下載。
本書可作為大學本科、高職高專相關課程的專業(yè)教材,也可作為廣大數(shù)據(jù)庫應用開發(fā)人員的參考用書。
1.暢銷書作者鄭阿奇,教材內(nèi)容質(zhì)量經(jīng)市場驗證。
2.基礎理論+實驗+綜合應用實習,助力讀者全面深刻理解MySQL數(shù)據(jù)庫原理與應用方法。
3.提供基于PHP、JAVAEE、C#的開發(fā)案例,且每個實習實現(xiàn)功能相同,讀者可以實現(xiàn)舉一反三的學習效果。
4.學習本書,通過模仿即可獨立開發(fā)小型MySQL數(shù)據(jù)庫系統(tǒng)。
5.提供全套微課視頻,教學資源豐富。
鄭阿奇 鄭阿奇,南京師范大學計算機系副教授,南京師范大學中北學院信息系教學主任。1986年開始,在教學和科技開發(fā)的同時,一直在從事計算機應用性和編程類教材的研究,先后編寫或主編計算機教材45本,其中系列教材3套。獲得國家教委優(yōu)秀教材二等獎、電子部優(yōu)秀教材二等獎、江蘇省暢銷圖書二等獎。參加主持國家863子項目,主持江蘇省、南京市、泰州市和橫向項目多項。獲江蘇省科技進步獎、江蘇省優(yōu)秀軟件獎、南京市創(chuàng)新成果獎、泰州市科技進步獎。2000年,主編的高等學校計算機系列教材、首次提出應用性和編程類教材實用性和系列化的思想,得到全國廣大師生的廣泛好評,出版后一直暢銷,總碼洋3800萬以上。2005年,獲江蘇省優(yōu)秀教學成果二等獎,南京師范大學教學成果一等獎。2007年,被評為南京師范大學教學名師首批培養(yǎng)對象。Visual C++實用教程(第3版),電子工業(yè)出版社,累計銷售12萬。
目錄
第 一部分 MySQL基礎
第 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ù)庫設計 4
1.2.1 概念模型 4
1.2.2 邏輯模型 5
1.2.3 物理模型 6
1.3 數(shù)據(jù)庫應用系統(tǒng) 6
1.3.1 數(shù)據(jù)庫應用系統(tǒng)架構 6
1.3.2 應用系統(tǒng)的數(shù)據(jù)接口 7
1.4 MySQL數(shù)據(jù)庫 8
1.4.1 MySQL安裝運行 8
1.4.2 MySQL常用界面工具 10
習題 10
實訓 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
習題 21
實訓 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
習題 55
實訓 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
習題 72
實訓 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 算術運算符 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ù)學函數(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
習題 99
實訓 100
第6章 MySQL過程式數(shù)據(jù)庫對象 104
6.1 存儲過程 104
6.1.1 創(chuàng)建存儲過程 104
6.1.2 存儲過程體編程 106
6.1.3 游標及其應用 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
習題 123
實訓 124
第7章 MySQL數(shù)據(jù)庫備份與恢復 128
7.1 常用的備份方法 128
7.1.1 使用SQL語句導出或?qū)氡頂?shù)據(jù) 128
7.1.2 使用客戶端程序備份數(shù)據(jù)庫 131
7.1.3 直接復制 133
7.2 日志文件 133
7.2.1 啟用日志 133
7.2.2 用mysqlbinlog工具處理日志 134
習題 135
實訓 135
第8章 MySQL用戶權限與維護 137
8.1 用戶管理 137
8.1.1 添加、刪除用戶 137
8.1.2 修改用戶名、密碼 138
8.2 權限控制 139
8.2.1 授予權限 139
8.2.2 權限轉(zhuǎn)移和限制 142
8.2.3 權限回收 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 修復表語句 145
習題 146
實訓 146
第9章 MySQL事務管理 148
9.1 事務屬性 148
9.2 事務處理 149
9.3 事務隔離級 151
習題 152
第二部分 MySQL數(shù)據(jù)庫綜合實訓
實訓0 數(shù)據(jù)庫綜合實訓 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ù)庫對象關系的正確性 158
P0.2.1 插入學生表記錄 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 “學生管理”功能界面 161
P0.3.3 “課程管理”功能界面 161
P0.3.4 “成績管理”功能界面 162
第三部分 MySQL數(shù)據(jù)庫綜合應用開發(fā)
實訓1 PHP/MySQL學生成績管理系統(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)主頁設計 166
P1.3.1 主界面 166
P1.3.2 功能導航 168
P1.4 學生管理 168
P1.4.1 界面設計 168
P1.4.2 功能實現(xiàn) 172
P1.5 成績管理 174
P1.5.1 界面設計 174
P1.5.2 功能實現(xiàn) 176
P1.6 課程管理 177
實訓2 Python/MySQL學生成績管理系統(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ā)前的準備工作 180
P2.2.2 實現(xiàn)思路 181
P2.2.3 功能代碼 181
P2.2.4 運行效果 185
實訓3 Android Studio/MySQL學生成績管理系統(tǒng) 186
P3.1 環(huán)境搭建 186
P3.1.1 基本原理 186
P3.1.2 開發(fā)工具安裝 187
P3.1.3 MySQL數(shù)據(jù)庫準備 187
P3.2 服務器端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 設計界面 196
P3.3.3 編寫移動端代碼 197
P3.3.4 運行測試 201
第四部分 MySQL數(shù)據(jù)庫綜合應用開發(fā)擴展
實訓4 C#/MySQL學生成績管理系統(tǒng) 205
實訓5 JavaEE/MySQL學生成績管理系統(tǒng) 205
附錄 學生成績(xscj)數(shù)據(jù)庫中的表結構及樣本數(shù)據(jù)記錄 206