本書以當(dāng)前較流行的MySQL5.7作為平臺,系統(tǒng)介紹MySQL數(shù)據(jù)庫原理及其應(yīng)用。具體內(nèi)容涉及MySQL初步、MySQL數(shù)據(jù)庫和表、MySQL查詢和視圖、MySQL索引與完整性約束、MySQL語言、MySQL存儲過程函數(shù)觸發(fā)器事件、MySQL數(shù)據(jù)庫備份與恢復(fù)、MySQL用戶權(quán)限維護(hù)和MySQL十五管理。通過實(shí)驗(yàn)對命令進(jìn)行操作練習(xí),保證實(shí)驗(yàn)內(nèi)容和教程同步,教程實(shí)例和實(shí)驗(yàn)實(shí)例分別自成系統(tǒng),簡單方便。
在介紹MySQL基礎(chǔ)上,進(jìn)行綜合應(yīng)用實(shí)習(xí),包含目前*流行的PHP、C#、JavaEE、等平臺操作數(shù)據(jù)庫的基本方法。附錄中包含的客戶端MySQL操作軟件和Web方式MySQL操作軟件。
本教程每章包含二維碼視頻,把主要內(nèi)容聯(lián)系起來,回答讀者關(guān)心的問題。網(wǎng)上同時提供教學(xué)課件和全部應(yīng)用實(shí)例代碼。通過本書學(xué)習(xí),對應(yīng)用實(shí)習(xí)進(jìn)行模仿就能夠開發(fā)一個小規(guī)模的MySQL數(shù)據(jù)庫應(yīng)用系統(tǒng)。
本書可作為大學(xué)本科、高職高專有關(guān)課程教材,也可供廣大數(shù)據(jù)庫應(yīng)用開發(fā)人員使用或參考。
鄭阿奇,南京師范大學(xué)計(jì)算機(jī)系副教授,南京師范大學(xué)中北學(xué)院信息系教學(xué)主任。 1986年開始,在教學(xué)和科技開發(fā)的同時,一直在從事計(jì)算機(jī)應(yīng)用性和編程類教材的研究,先后編寫或主編計(jì)算機(jī)教材45本,其中系列教材3套。獲得國家教委優(yōu)秀教材二等獎。2000年,主編的高等學(xué)校計(jì)算機(jī)系列教材、首次提出應(yīng)用性和編程類教材實(shí)用性和系列化的思想,得到全國廣大師生的廣泛好評,出版后一直暢銷,總碼洋3800萬以上。
第1篇 MySQL數(shù)據(jù)庫教程
第1章 MySQL初步 1
1。 1 數(shù)據(jù)庫基本概念 1
1.2 MySQL數(shù)據(jù)庫 3
1.2.1 概述 3
1.2.2 安裝運(yùn)行 3
1.2.3 命令初步 13
1.3 MySQL常用界面工具 16
習(xí)題 17
第2章 MySQL數(shù)據(jù)庫和表 18
2.1 MySQL數(shù)據(jù)庫 18
2.1.1 創(chuàng)建數(shù)據(jù)庫 18
2.1.2 修改數(shù)據(jù)庫 19
2.1.3 刪除數(shù)據(jù)庫 19
2.2 MySQL表 19
2.2.1 創(chuàng)建表 19
2.2.2 修改表 22
2.2.3 刪除表 23
2.3 表記錄的操作 23
2.3.1 插入記錄 23
2.3.2 修改記錄 25
2.3.3 刪除記錄 27
習(xí)題 28
第3章 MySQL查詢和視圖 30
3.1 MySQL數(shù)據(jù)庫查詢 30
3.1.1 選擇輸出列 30
3.1.2 數(shù)據(jù)來源:FROM子句 35
3.1.3 查詢條件:WHERE子句 38
3.1.4 分組:GROUP BY子句 45
3.1.5 分組條件:HAVING子句 47
3.1.6 排序:ORDER BY子句 48
3.1.7 輸出行限制:LIMIT子句 49
3.1.8 聯(lián)合查詢: UNION語句 49
3.1.9 行瀏覽查詢:HANDLER語句 50
3.2 MySQL視圖 52
3.2.1 視圖的概念 52
3.2.2 創(chuàng)建視圖 52
3.2.3 查詢視圖 53
3.2.4 更新視圖 54
3.2.5 修改視圖 56
3.2.6 刪除視圖 56
習(xí)題 56
第4章 MySQL索引與完整性約束 58
4.1 MySQL索引 58
4.2 MySQL索引創(chuàng)建 59
4.3 MySQL數(shù)據(jù)完整性約束 61
4.3.1 主鍵約束 61
4.3.2 替代鍵約束 62
4.3.3 參照完整性約束 63
4.3.4 CHECK完整性約束 65
4.3.5 命名完整性約束 67
4.3.6 刪除完整性約束 67
習(xí)題 68
第5章 MySQL語言 69
5.1 MySQL語言簡介 69
5.2 常量和變量 70
5.2.1 常量 70
5.2.2 變量 73
5.3 運(yùn)算符與表達(dá)式 75
5.3.1 算術(shù)運(yùn)算符 75
5.3.2 比較運(yùn)算符 77
5.3.3 邏輯運(yùn)算符 79
5.3.4 位運(yùn)算符 80
5.3.5 運(yùn)算符優(yōu)先級 81
5.3.6 表達(dá)式 81
5.4 系統(tǒng)內(nèi)置函數(shù) 81
5.4.1 數(shù)學(xué)函數(shù) 82
5.4.2 聚合函數(shù) 84
5.4.3 字符串函數(shù) 84
5.4.4 日期和時間函數(shù) 87
5.4.5 加密函數(shù) 89
5.4.6 控制流函數(shù) 90
5.4.7 格式化函數(shù) 91
5.4.8 類型轉(zhuǎn)換函數(shù) 92
5.4.9 系統(tǒng)信息函數(shù) 93
習(xí)題 94
第6章 MySQL存儲過程函數(shù)觸發(fā)器事件 95
6.1 存儲過程 95
6.1.1 創(chuàng)建存儲過程 95
6.1.2 存儲過程體 97
6.1.3游標(biāo)及其應(yīng)用 103
6.1.4 存儲過程的調(diào)用、刪除和修改 104
6.2 存儲函數(shù) 107
6.2.1 創(chuàng)建存儲函數(shù) 107
6.2.2 存儲函數(shù)的調(diào)用、刪除和修改 108
6.3 觸發(fā)器 110
6.4 事件 113
6.4.1 創(chuàng)建事件 113
6.4.2 修改和刪除事件 115
習(xí)題 116
第7章 MySQL數(shù)據(jù)庫備份與恢復(fù) 117
7.1 常用的備份恢復(fù)方法 117
7.1.1 使用SQL語句:導(dǎo)出或?qū)氡頂?shù)據(jù) 117
7.1.2 使用客戶端工具:備份數(shù)據(jù)庫 120
7.1.3 直接復(fù)制 123
7.2 日志文件 123
7.2.1 啟用日志 123
7.2.2 用mysqlbinlog處理日志 124
習(xí)題 125
第8章 MySQL用戶權(quán)限維護(hù) 126
8.1 用戶管理 126
8.1.1 添加、刪除用戶 126
8.1.2 修改用戶名、密碼 128
8.2 權(quán)限控制 128
8.2.1 授予權(quán)限 128
8.2.2 權(quán)限轉(zhuǎn)移和限制 132
8.2.3 權(quán)限回收 133
8.3 表維護(hù)語句 134
8.3.1 索引列可壓縮性語句:ANALYZE TABLE 134
8.3.2 檢查表是否有錯語句:CHECK TABLE 135
8.3.3 獲得表校驗(yàn)和語句:CHECKSUM TABLE 135
8.3.4 優(yōu)化表語句:OPTIMIZE TABLE 135
8.3.5 修復(fù)表語句:REPAIR TABLE 136
習(xí)題 136
第9章 MySQL事務(wù)管理 137
9.1 事務(wù)屬性 137
9.2 事務(wù)處理 138
9.3 事務(wù)隔離級 140
習(xí)題 142
第2篇 MySQL實(shí)驗(yàn)
實(shí)驗(yàn)1 MySQL的使用 144
實(shí)驗(yàn)2 創(chuàng)建數(shù)據(jù)庫和表 147
實(shí)驗(yàn)3 表數(shù)據(jù)插入、修改和刪除 150
實(shí)驗(yàn)4 數(shù)據(jù)庫的查詢和視圖 154
實(shí)驗(yàn)4.1 查詢 154
實(shí)驗(yàn)4.2 視圖 160
實(shí)驗(yàn)5 索引和數(shù)據(jù)完整性 163
實(shí)驗(yàn)6 MySQL語言 166
實(shí)驗(yàn)7 存儲過程函數(shù)觸發(fā)器事件 170
實(shí)驗(yàn)8 數(shù)據(jù)庫備份與恢復(fù) 175
實(shí)驗(yàn)9 用戶權(quán)限維護(hù) 177
第3篇 綜合應(yīng)用實(shí)習(xí)
實(shí) 習(xí) 0 創(chuàng)建實(shí)習(xí)數(shù)據(jù)庫 179
實(shí)習(xí)0. 1 創(chuàng)建數(shù)據(jù)庫及其對象 179
實(shí)習(xí)0. 2 功能和界面 184
實(shí) 習(xí) 1 成績管理系統(tǒng) 187
實(shí)習(xí)1. 1 PHP開發(fā)平臺搭建 187
實(shí)習(xí)1.1.1 創(chuàng)建PHP環(huán)境 187
實(shí)習(xí)1.1.2 Eclipse安裝與配置 190
實(shí)習(xí)1. 2 PHP開發(fā)入門 193
實(shí)習(xí)1.2.1 PHP項(xiàng)目的建立 193
實(shí)習(xí)1.2.2 PHP項(xiàng)目的運(yùn)行 194
實(shí)習(xí)1.2.3 PHP連接MySQL 5.7 194
實(shí)習(xí)1. 3 系統(tǒng)主頁設(shè)計(jì) 195
實(shí)習(xí)1.3.1 主界面 195
實(shí)習(xí)1.3.2 功能導(dǎo)航 196
實(shí)習(xí)1. 4 學(xué) 生 管 理 198
實(shí)習(xí)1.4.1 界面設(shè)計(jì) 198
實(shí)習(xí)1.4.2 功能實(shí)現(xiàn) 201
實(shí)習(xí)1. 5 成 績 管 理 203
實(shí)習(xí)1.5.1 界面設(shè)計(jì) 203
實(shí)習(xí)1.5.2 功能實(shí)現(xiàn) 205
實(shí) 習(xí) 2 成績管理系統(tǒng) 207
實(shí)習(xí)2. 1 Java EE開發(fā)平臺搭建 207
實(shí)習(xí)2.1.1 安裝軟件 207
實(shí)習(xí)2.1.2 環(huán)境整合 211
實(shí)習(xí)2. 2 創(chuàng)建Struts 2項(xiàng)目 213
實(shí)習(xí)2.2.1 創(chuàng)建Java EE項(xiàng)目 213
實(shí)習(xí)2.2.2 加載Struts 2包 214
實(shí)習(xí)2.2.3 連接MySQL 5.7 215
實(shí)習(xí)2. 3 系統(tǒng)主頁設(shè)計(jì) 218
實(shí)習(xí)2.3.1 主界面 218
實(shí)習(xí)2.3.2 功能導(dǎo)航 219
實(shí)習(xí)2. 4 學(xué) 生 管 理 222
實(shí)習(xí)2.4.1 界面設(shè)計(jì) 222
實(shí)習(xí)2.4.2 功能實(shí)現(xiàn) 225
實(shí)習(xí)2. 5 成 績 管 理 230
實(shí)習(xí)2.5.1 界面設(shè)計(jì) 230
實(shí)習(xí)2.5.2 功能實(shí)現(xiàn) 233
實(shí) 習(xí) 3 成績管理系統(tǒng) 238
實(shí)習(xí)3. 1 ADO.NET架構(gòu)原理 238
實(shí)習(xí)3. 2 創(chuàng)建Visual C# 2015項(xiàng)目 240
實(shí)習(xí)3.2.1 Visual C# 2015項(xiàng)目的建立 240
實(shí)習(xí)3.2.2 安裝MySQL 5.7的.NET驅(qū)動 240
實(shí)習(xí)3. 3 系統(tǒng)界面設(shè)計(jì) 242
實(shí)習(xí)3.3.1 主界面 242
實(shí)習(xí)3.3.2 功能界面 243
實(shí)習(xí)3. 4 系統(tǒng)代碼架構(gòu) 245
實(shí)習(xí)3. 5 學(xué)生管理 247
實(shí)習(xí)3. 6 成 績 管 理 251
附錄
附錄A 學(xué)生成績數(shù)據(jù)庫(XSCJ)表結(jié)構(gòu)樣本數(shù)據(jù) 254
附錄B Navicat基本操作 257
B.1 Navicat安裝 257
B.2 創(chuàng)建數(shù)據(jù)庫和表 258
B.3 查詢和視圖 261
B.4 索引和存儲過程 262
B.5備份與還原 264
B.6用戶與權(quán)限操作 265
附錄C phpMyAdmin基本操作 266
C.1 安裝phpMyAdmin環(huán)境 266
C.2 創(chuàng)建數(shù)據(jù)庫 268
C.3 操作數(shù)據(jù)庫 271