本書以當前流行的MySQL 5.7作為平臺,內容分為MySQL綜述、習題、實驗、應用實習和附錄。在系統介紹MySQL功能的基礎上,通過實驗進行操作練習和消化理解。MySQL命令分層化,實例命令結果屏幕化,習題進一步系統化,實驗進一步優化,教學和自學將更加方便。同時系統地介紹目前流行的PHP、Java EE、Visual C#、ASP.NET(C#)、Visual C++ 6.0和Visual BASIC 6.0等應用MySQL數據庫的方法。通過對本書內容的學習模仿,能基本掌握當前幾個流行平臺開發MySQL數據庫應用系統的方法,也能較好地解決MySQL“學”和“用”的問題。本書配有教學課件和配套的客戶端—MySQL應用系統,免費提供 6 個實習平臺開發可運行源程序文件,配套的系統文件也包含在其中,需要者請到華信教育資源網(www.hxedu.com.cn)免費下載。本書可作為大學本科、高職高專院校有關課程教材,也可供廣大數據庫應用開發人員使用或參考。
鄭阿奇,南京師范大學計算機科學與技術學院,副教授,東南大學本科,曾任計算機軟件系主任,獲選南京師范大學教學名師培養人選。主編5套計算機系列教材,獲教育部優秀教材二等獎、電子部優秀教材二等獎、兩次獲江蘇省優秀教學成果二等獎、江蘇省暢銷圖書編輯二等獎、全國高校出版社優秀暢銷書二等獎、兩次獲南京師范大學優秀教學成果一等獎、南京師范大學精品教材一等獎。參加主持國家八六三計劃子項目、江蘇省科技開發項目,主持南京市科技開發項目、泰州市科委項目、金陵石化公司項目,獲江蘇省優秀軟件獎,江蘇省科技進步獎、南京市創新成果獎。獲國家發明專利和實用新型專利20多個。
目 錄
第一部分 MySQL綜述
第1章 數據庫基礎 1
1.1 數據庫基本概念 1
1.1.1 數據庫及其系統 1
1.1.2 數據模型 1
1.1.3 關系型數據庫語言 3
1.2 數據庫設計 4
1.2.1 概念模型 4
1.2.2 邏輯模型 6
1.2.3 物理模型 7
1.3 數據庫應用系統 7
1.3.1 應用系統的數據接口 7
1.3.2 C/S架構的應用系統 9
1.3.3 B/S架構的應用系統 10
第2章 MySQL數據庫的安裝與運行 11
2.1 MySQL數據庫 11
2.2 安裝與運行 12
2.3 常用MySQL界面工具 18
第3章 MySQL數據庫和表 19
3.1 MySQL數據庫 19
3.1.1 創建數據庫 19
3.1.2 修改數據庫 20
3.1.3 刪除數據庫 21
3.2 MySQL表 21
3.2.1 創建表 21
3.2.2 修改表 25
3.2.3 刪除表 27
3.3 數據類型 27
3.3.1 數據類型分類 28
3.3.2 數據類型屬性 32
3.4 表記錄的操作 33
3.4.1 插入記錄 33
3.4.2 修改記錄 36
3.4.3 刪除記錄 37
3.5 MySQL數據庫信息顯示 39
3.6 為查詢準備數據 40
第4章 MySQL查詢和視圖 41
4.1 關系運算基礎 41
4.1.1 選擇(Selection)運算 41
4.1.2 投影(Projection)運算 42
4.1.3 連接(Join)運算 42
4.2 MySQL數據庫查詢 43
4.2.1 SELECT語句 43
4.2.2 選擇輸出項 44
4.2.3 FROM子句 49
4.2.4 WHERE子句 53
4.2.5 GROUP BY子句 60
4.2.6 HAVING子句 61
4.2.7 ORDER BY子句 62
4.2.8 LIMIT子句 63
4.2.9 UNION語句 64
4.2.10 HANDLER語句 65
4.3 MySQL視圖 66
4.3.1 視圖的概念 66
4.3.2 創建視圖 67
4.3.3 查詢視圖 68
4.3.4 更新視圖 69
4.3.5 修改視圖 71
4.3.6 刪除視圖 71
第5章 MySQL索引與數據完整性約束 72
5.1 MySQL索引 72
5.1.1 索引及其作用 72
5.1.2 索引的分類 73
5.1.3 創建和刪除索引 74
5.1.4 索引的利弊 76
5.2 MySQL數據完整性約束 77
5.2.1 主鍵約束 78
5.2.2 替代鍵約束 79
5.2.3 參照完整性約束 80
5.2.4 CHECK完整性約束 82
5.2.5 命名完整性約束 83
5.2.6 刪除完整性約束 84
第6章 MySQL語言 85
6.1 MySQL語言簡介 85
6.2 常量和變量 86
6.2.1 常量 86
6.2.2 變量 88
6.3 運算符與表達式 91
6.3.1 算術運算符 91
6.3.2 比較運算符 93
6.3.3 邏輯運算符 94
6.3.4 位運算符 95
6.3.5 運算符優先級 96
6.3.6 表達式 96
6.4 系統內置函數 97
6.4.1 數學函數 97
6.4.2 聚合函數 99
6.4.3 字符串函數 99
6.4.4 日期和時間函數 101
6.4.5 加密函數 103
6.4.6 控制流函數 104
6.4.7 格式化函數 105
6.4.8 類型轉換函數 106
6.4.9 系統信息函數 107
第7章 MySQL過程式數據庫對象 109
7.1 存儲過程 109
7.1.1 創建存儲過程 109
7.1.2 存儲過程體 111
7.1.3 存儲過程的調用、刪除和
修改 118
7.2 存儲函數 121
7.2.1 創建存儲函數 121
7.2.2 存儲函數的調用、刪除和
修改 122
7.3 觸發器 123
7.4 事件 126
7.4.1 創建事件 126
7.4.2 修改和刪除事件 128
第8章 MySQL數據庫備份與恢復 129
8.1 基本概念 129
8.2 常用的備份與恢復方法 130
8.2.1 使用SQL語句 130
8.2.2 使用客戶端工具 132
8.2.3 直接復制 134
8.3 日志文件 135
8.3.1 啟用日志 135
8.3.2 用mysqlbinlog處理日志 135
第9章 MySQL安全管理 137
9.1 用戶管理 137
9.1.1 添加、刪除用戶 137
9.1.2 修改用戶名、密碼 138
9.2 權限控制 139
9.2.1 授予權限 139
9.2.2 權限轉移和限制 142
9.2.3 權限回收 144
9.3 表維護語句 144
9.3.1 ANALYZE TABLE語句 144
9.3.2 CHECK TABLE語句 145
9.3.3 CHECKSUM TABLE語句 145
9.3.4 OPTIMIZE TABLE語句 146
9.3.5 REPAIR TABLE語句 146
第10章 MySQL多用戶事務管理 147
10.1 事務管理 147
10.1.1 事務的概念 147
10.1.2 ACID屬性 147
10.1.3 事務處理 149
10.1.4 事務隔離級 150
10.2 多用戶訪問 152
10.2.1 鎖定的級別 152
10.2.2 鎖定與解鎖 153
10.2.3 并發訪問的問題 153
第二部分 MySQL習題
第1章 數據庫基礎 155
第2章 MySQL數據庫的安裝與運行 156
第3章 MySQL數據庫和表 156
第4章 MySQL查詢和視圖 158
第5章 MySQL索引與數據完整性約束 158
第6章 MySQL語言 159
第7章 MySQL過程式數據庫對象 160
第8章 MySQL數據庫備份與恢復 161
第9章 MySQL安全管理 161
第10章 MySQL多用戶事務管理 161
第三部分 MySQL實驗
實驗1 MySQL的使用 162
實驗2 創建數據庫和表 164
實驗3 表數據插入、修改和刪除 166
實驗4 數據庫的查詢和視圖 169
實驗5 索引和數據完整性 176
實驗6 MySQL語言結構 178
實驗7 過程式數據庫對象的使用 181
實驗8 備份與恢復 184
實驗9 數據庫的安全性 185
第四部分 MySQL應用實習
實習0 創建實習數據庫 187
實習1 PHP/MySQL學生成績管理系統 194
實習2 Java EE /MySQL學生成績管理系統 211
實習3 Visual C# /MySQL學生成績管理
系統 241
實習4 ASP.NET(C#)/MySQL學生成績
管理系統 254
實習5 VC++ 6.0/MySQL學生成績管理
系統 278
實習6 VB 6.0/MySQL學生成績管理系統 306
第五部分 附 錄
附錄A 學生成績數據庫(庫名為xscj)
表結構樣本數據 320
附錄B Navicat操作 324
附錄C phpMyAdmin基本操作 329