本書內容主要包括MySQL數(shù)據(jù)庫系統(tǒng)、MySQL語言結構、數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言、數(shù)據(jù)查詢語言、視圖和索引、完整性約束、存儲過程和存儲函數(shù)、觸發(fā)器和事件、權限管理和安全控制、備份和恢復、事務和并發(fā)控制、PHP和MySQL學生成績管理系統(tǒng)開發(fā)。在相應章后附有相關實驗。本書理論與實踐相結合。 本書既可以作為高等院校相關專業(yè)學生的教材,也可以作為數(shù)據(jù)庫考試人員、數(shù)據(jù)庫應用系統(tǒng)開發(fā)設計人員、工程技術人員和其他相關人員的參考用書。
趙明淵,男,電子科技大學計算機應用技術專業(yè)博士,教授,中國農業(yè)銀行四川省分行計算機高級工程師,國務院頒發(fā)證書的享受政府特殊津貼的專家。
目錄
第1章 MySQL數(shù)據(jù)庫系統(tǒng)\t1
1.1 數(shù)據(jù)庫的應用\t1
1.2 數(shù)據(jù)庫的基本概念\t1
1.2.1 數(shù)據(jù)庫\t2
1.2.2 數(shù)據(jù)庫管理系統(tǒng)\t2
1.2.3 數(shù)據(jù)庫系統(tǒng)\t2
1.3 數(shù)據(jù)模型\t4
1.3.1 數(shù)據(jù)模型的概念和類型\t4
1.3.2 概念模型的概念和表示方法\t5
1.3.3 邏輯模型概述\t6
1.4 關系數(shù)據(jù)庫\t8
1.4.1 關系數(shù)據(jù)庫的基本概念\t8
1.4.2 關系運算\t9
1.4.3 概念結構設計和邏輯結構設計\t10
1.5 MySQL數(shù)據(jù)庫管理系統(tǒng)\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 大數(shù)據(jù)簡介\t24
1.7.1 大數(shù)據(jù)的基本概念\t24
1.7.2 大數(shù)據(jù)的處理過程\t26
1.7.3 NoSQL數(shù)據(jù)庫\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 數(shù)據(jù)類型\t39
2.3.1 數(shù)值類型\t39
2.3.2 字符串類型\t41
2.3.3 日期和時間類型\t41
2.3.4 二進制數(shù)據(jù)類型\t41
2.3.5 其他數(shù)據(jù)類型\t42
2.3.6 數(shù)據(jù)類型的選擇\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 運算符的優(yōu)先級\t51
2.5.6 表達式\t52
2.6 MySQL函數(shù)\t52
2.6.1 數(shù)學函數(shù)\t52
2.6.2 字符串函數(shù)\t54
2.6.3 日期和時間函數(shù)\t56
2.6.4 其他函數(shù)\t57
小結\t58
習題2\t59
實驗2\t60
第3章 數(shù)據(jù)定義語言\t62
3.1 數(shù)據(jù)定義語言概述\t62
3.2 MySQL數(shù)據(jù)庫的基本概念\t62
3.3 創(chuàng)建MySQL數(shù)據(jù)庫\t63
3.3.1 創(chuàng)建數(shù)據(jù)庫\t63
3.3.2 選擇數(shù)據(jù)庫\t64
3.3.3 修改數(shù)據(jù)庫\t65
3.3.4 刪除數(shù)據(jù)庫\t65
3.4 表的基本概念\t66
3.4.1 表和表結構\t66
3.4.2 表結構設計\t67
3.5 創(chuàng)建MySQL表\t68
3.5.1 創(chuàng)建表\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章 數(shù)據(jù)操縱語言\t86
4.1 數(shù)據(jù)操縱語言概述\t86
4.2 使用INSERT語句插入數(shù)據(jù)\t86
4.2.1 向表中的所有列插入數(shù)據(jù)\t86
4.2.2 向表中的指定列插入數(shù)據(jù)\t88
4.2.3 插入多條記錄\t88
4.2.4 REPLACE語句\t89
4.2.5 插入查詢結果語句\t89
4.3 使用UPDATE語句修改數(shù)據(jù)\t90
4.3.1 修改指定記錄\t90
4.3.2 修改全部記錄\t91
4.4 使用DELETE語句刪除數(shù)據(jù)\t91
4.4.1 刪除指定記錄\t92
4.4.2 刪除全部記錄\t92
小結\t93
習題4\t94
實驗4\t95
第5章 數(shù)據(jù)查詢語言\t100
5.1 數(shù)據(jù)查詢語言概述\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 聯(lián)合查詢\t122
小結\t123
習題5\t124
實驗5\t126
第6章 視圖和索引\t132
6.1 視圖的功能\t132
6.2 視圖操作\t132
6.2.1 創(chuàng)建視圖\t132
6.2.2 修改視圖定義\t134
6.2.3 刪除視圖\t134
6.3 視圖的應用\t135
6.3.1 查詢視圖\t135
6.3.2 更新視圖數(shù)據(jù)\t136
6.4 索引的功能、分類和使用\t139
6.5 索引操作\t141
6.5.1 創(chuàng)建索引\t141
6.5.2 查看表上創(chuàng)建的索引\t143
6.5.3 刪除索引\t145
小結\t145
習題6\t146
實驗6\t148
第7章 完整性約束\t151
7.1 數(shù)據(jù)完整性的基本概念\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章 存儲過程和存儲函數(shù)\t168
8.1 存儲過程的基本概念\t168
8.2 存儲過程操作\t169
8.2.1 創(chuàng)建存儲過程\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 存儲函數(shù)的基本概念\t182
8.4 存儲函數(shù)操作\t182
8.4.1 創(chuàng)建存儲函數(shù)\t183
8.4.2 調用存儲函數(shù)\t183
8.4.3 刪除存儲函數(shù)\t184
小結\t184
習題8\t185
實驗8\t186
第9章 觸發(fā)器和事件\t191
9.1 觸發(fā)器的基本概念\t191
9.2 觸發(fā)器操作\t191
9.2.1 創(chuàng)建觸發(fā)器\t191
9.2.2 使用觸發(fā)器\t192
9.2.3 刪除觸發(fā)器\t195
9.3 事件的基本概念\t195
9.4 事件操作\t196
9.4.1 創(chuàng)建事件\t196
9.4.2 修改事件\t198
9.4.3 刪除事件\t198
小結\t199
習題9\t199
實驗9\t200
第10章 權限管理和安全控制\t204
10.1 MySQL權限系統(tǒng)\t204
10.1.1 MySQL權限系統(tǒng)工作過程\t204
10.1.2 MySQL權限表\t205
10.2 用戶管理\t205
10.2.1 創(chuàng)建用戶\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 導出表數(shù)據(jù)和備份數(shù)據(jù)\t217
11.2.1 導出表數(shù)據(jù)\t218
11.2.2 mysqldump命令用于備份數(shù)據(jù)\t219
11.3 導入表數(shù)據(jù)和恢復數(shù)據(jù)\t223
11.3.1 導入表數(shù)據(jù)\t223
11.3.2 mysql命令用于恢復數(shù)據(jù)\t225
小結\t225
習題11\t226
實驗11\t227
第12章 事務和并發(fā)控制\t229
12.1 事務的概念和特性\t229
12.1.1 事務的概念\t229
12.1.2 事務的特性\t229
12.2 事務控制語句\t230
12.3 事務的并發(fā)處理\t234
12.4 管理鎖\t235
12.4.1 鎖機制\t235
12.4.2 鎖的級別\t236
12.4.3 死鎖\t237
小結\t238
習題12\t239
第13章 PHP和MySQL學生成績管理系統(tǒng)開發(fā)\t240
13.1 PHP簡介\t240
13.1.1 PHP的基本概念和特點\t240
13.1.2 PHP的運行環(huán)境\t241
13.1.3 PHP的運行過程\t242
13.2 創(chuàng)建學生成績管理系統(tǒng)數(shù)據(jù)庫\t243
13.3 搭建PHP開發(fā)環(huán)境\t244
13.3.1 PHP集成軟件開發(fā)環(huán)境的搭建\t244
13.3.2 PHP開發(fā)工具\t246
13.4 學生成績管理系統(tǒng)開發(fā)\t251
13.4.1 主界面開發(fā)\t251
13.4.2 學生管理界面和功能實現(xiàn)\t253
13.4.3 課程管理界面和功能實現(xiàn)\t258
13.4.4 成績管理界面和功能實現(xiàn)\t262
小結\t268
習題13\t269
附錄A 銷售數(shù)據(jù)庫sales的表結構和樣本數(shù)據(jù)\t270
附錄B 習題參考答案\t273
參考文獻\t274