本書內容主要包括MySQL數據庫系統、MySQL語言結構、數據定義語言、數據操縱語言、數據查詢語言、視圖和索引、完整性約束、存儲過程和存儲函數、觸發器和事件、權限管理和安全控制、備份和恢復、事務和并發控制、PHP和MySQL學生成績管理系統開發。在相應章后附有相關實驗。本書理論與實踐相結合。 本書既可以作為高等院校相關專業學生的教材,也可以作為數據庫考試人員、數據庫應用系統開發設計人員、工程技術人員和其他相關人員的參考用書。
趙明淵,男,電子科技大學計算機應用技術專業博士,教授,中國農業銀行四川省分行計算機高級工程師,國務院頒發證書的享受政府特殊津貼的專家。
目錄
第1章 MySQL數據庫系統\t1
1.1 數據庫的應用\t1
1.2 數據庫的基本概念\t1
1.2.1 數據庫\t2
1.2.2 數據庫管理系統\t2
1.2.3 數據庫系統\t2
1.3 數據模型\t4
1.3.1 數據模型的概念和類型\t4
1.3.2 概念模型的概念和表示方法\t5
1.3.3 邏輯模型概述\t6
1.4 關系數據庫\t8
1.4.1 關系數據庫的基本概念\t8
1.4.2 關系運算\t9
1.4.3 概念結構設計和邏輯結構設計\t10
1.5 MySQL數據庫管理系統\t13
1.5.1 MySQL的特點\t13
1.5.2 MySQL 8.0的新特性\t14
1.5.3 MySQL 8.0安裝\t15
1.5.4 MySQL 8.0配置\t17
1.6 啟動、關閉和登錄MySQL服務器\t21
1.6.1 啟動和關閉MySQL服務器\t22
1.6.2 登錄MySQL服務器\t23
1.7 大數據簡介\t24
1.7.1 大數據的基本概念\t24
1.7.2 大數據的處理過程\t26
1.7.3 NoSQL數據庫\t27
小結\t29
習題1\t30
實驗1\t32
?
第2章 MySQL語言結構\t37
2.1 SQL簡介\t37
2.1.1 SQL的特點\t37
2.1.2 SQL的分類\t38
2.2 MySQL組成\t39
2.3 數據類型\t39
2.3.1 數值類型\t39
2.3.2 字符串類型\t41
2.3.3 日期和時間類型\t41
2.3.4 二進制數據類型\t41
2.3.5 其他數據類型\t42
2.3.6 數據類型的選擇\t42
2.4 常量和變量\t42
2.4.1 常量\t42
2.4.2 變量\t45
2.5 運算符和表達式\t48
2.5.1 算術運算符\t48
2.5.2 比較運算符\t49
2.5.3 邏輯運算符\t50
2.5.4 位運算符\t51
2.5.5 運算符的優先級\t51
2.5.6 表達式\t52
2.6 MySQL函數\t52
2.6.1 數學函數\t52
2.6.2 字符串函數\t54
2.6.3 日期和時間函數\t56
2.6.4 其他函數\t57
小結\t58
習題2\t59
實驗2\t60
第3章 數據定義語言\t62
3.1 數據定義語言概述\t62
3.2 MySQL數據庫的基本概念\t62
3.3 創建MySQL數據庫\t63
3.3.1 創建數據庫\t63
3.3.2 選擇數據庫\t64
3.3.3 修改數據庫\t65
3.3.4 刪除數據庫\t65
3.4 表的基本概念\t66
3.4.1 表和表結構\t66
3.4.2 表結構設計\t67
3.5 創建MySQL表\t68
3.5.1 創建表\t68
3.5.2 查看表\t70
3.5.3 修改表\t71
3.5.4 刪除表\t74
3.6 存儲引擎\t75
3.6.1 存儲引擎概述\t75
3.6.2 常用存儲引擎\t75
3.6.3 選擇存儲引擎\t76
小結\t77
習題3\t78
實驗3\t80
第4章 數據操縱語言\t86
4.1 數據操縱語言概述\t86
4.2 使用INSERT語句插入數據\t86
4.2.1 向表中的所有列插入數據\t86
4.2.2 向表中的指定列插入數據\t88
4.2.3 插入多條記錄\t88
4.2.4 REPLACE語句\t89
4.2.5 插入查詢結果語句\t89
4.3 使用UPDATE語句修改數據\t90
4.3.1 修改指定記錄\t90
4.3.2 修改全部記錄\t91
4.4 使用DELETE語句刪除數據\t91
4.4.1 刪除指定記錄\t92
4.4.2 刪除全部記錄\t92
小結\t93
習題4\t94
實驗4\t95
第5章 數據查詢語言\t100
5.1 數據查詢語言概述\t100
5.2 單表查詢\t101
5.2.1 SELECT子句的使用\t101
5.2.2 WHERE子句的使用\t103
5.2.3 GROUP BY子句和HAVING子句的使用\t108
5.2.4 ORDER BY子句和LIMIT子句的使用\t111
5.3 多表查詢\t113
5.3.1 連接查詢\t113
5.3.2 子查詢\t119
5.3.3 聯合查詢\t122
小結\t123
習題5\t124
實驗5\t126
第6章 視圖和索引\t132
6.1 視圖的功能\t132
6.2 視圖操作\t132
6.2.1 創建視圖\t132
6.2.2 修改視圖定義\t134
6.2.3 刪除視圖\t134
6.3 視圖的應用\t135
6.3.1 查詢視圖\t135
6.3.2 更新視圖數據\t136
6.4 索引的功能、分類和使用\t139
6.5 索引操作\t141
6.5.1 創建索引\t141
6.5.2 查看表上創建的索引\t143
6.5.3 刪除索引\t145
小結\t145
習題6\t146
實驗6\t148
第7章 完整性約束\t151
7.1 數據完整性的基本概念\t151
7.2 PRIMARY KEY約束\t153
7.3 UNIQUE約束\t155
7.4 FOREIGN KEY約束\t157
7.5 CHECK約束\t160
7.6 NOT NULL約束\t162
小結\t162
習題7\t163
實驗7\t164
第8章 存儲過程和存儲函數\t168
8.1 存儲過程的基本概念\t168
8.2 存儲過程操作\t169
8.2.1 創建存儲過程\t169
8.2.2 DELIMITER命令\t170
8.2.3 局部變量\t171
8.2.4 流程控制\t172
8.2.5 游標的使用\t178
8.2.6 存儲過程的調用\t180
8.2.7 存儲過程的刪除\t182
8.3 存儲函數的基本概念\t182
8.4 存儲函數操作\t182
8.4.1 創建存儲函數\t183
8.4.2 調用存儲函數\t183
8.4.3 刪除存儲函數\t184
小結\t184
習題8\t185
實驗8\t186
第9章 觸發器和事件\t191
9.1 觸發器的基本概念\t191
9.2 觸發器操作\t191
9.2.1 創建觸發器\t191
9.2.2 使用觸發器\t192
9.2.3 刪除觸發器\t195
9.3 事件的基本概念\t195
9.4 事件操作\t196
9.4.1 創建事件\t196
9.4.2 修改事件\t198
9.4.3 刪除事件\t198
小結\t199
習題9\t199
實驗9\t200
第10章 權限管理和安全控制\t204
10.1 MySQL權限系統\t204
10.1.1 MySQL權限系統工作過程\t204
10.1.2 MySQL權限表\t205
10.2 用戶管理\t205
10.2.1 創建用戶\t206
10.2.2 刪除用戶\t207
10.2.3 修改用戶賬號\t207
10.2.4 修改用戶口令\t207
10.3 權限管理\t208
10.3.1 授予權限\t208
10.3.2 權限的撤銷\t212
小結\t213
習題10\t214
實驗10\t215
第11章 備份和恢復\t217
11.1 備份和恢復的基本概念\t217
11.2 導出表數據和備份數據\t217
11.2.1 導出表數據\t218
11.2.2 mysqldump命令用于備份數據\t219
11.3 導入表數據和恢復數據\t223
11.3.1 導入表數據\t223
11.3.2 mysql命令用于恢復數據\t225
小結\t225
習題11\t226
實驗11\t227
第12章 事務和并發控制\t229
12.1 事務的概念和特性\t229
12.1.1 事務的概念\t229
12.1.2 事務的特性\t229
12.2 事務控制語句\t230
12.3 事務的并發處理\t234
12.4 管理鎖\t235
12.4.1 鎖機制\t235
12.4.2 鎖的級別\t236
12.4.3 死鎖\t237
小結\t238
習題12\t239
第13章 PHP和MySQL學生成績管理系統開發\t240
13.1 PHP簡介\t240
13.1.1 PHP的基本概念和特點\t240
13.1.2 PHP的運行環境\t241
13.1.3 PHP的運行過程\t242
13.2 創建學生成績管理系統數據庫\t243
13.3 搭建PHP開發環境\t244
13.3.1 PHP集成軟件開發環境的搭建\t244
13.3.2 PHP開發工具\t246
13.4 學生成績管理系統開發\t251
13.4.1 主界面開發\t251
13.4.2 學生管理界面和功能實現\t253
13.4.3 課程管理界面和功能實現\t258
13.4.4 成績管理界面和功能實現\t262
小結\t268
習題13\t269
附錄A 銷售數據庫sales的表結構和樣本數據\t270
附錄B 習題參考答案\t273
參考文獻\t274