本書瞄準當前高校MySQL數(shù)據(jù)庫教學與實驗的需求,在MySQL 8.0的基礎上編寫而成。全書分為兩篇。第一篇為MySQL數(shù)據(jù)庫基礎,內(nèi)容包含:數(shù)據(jù)庫基礎、MySQL語言、數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)查詢、視圖和索引、MySQL編程技術、MySQL安全管理、備份和恢復、事務管理、PHP和MySQL教學管理系統(tǒng)開發(fā)。第二篇為MySQL實驗,所編排的各個實驗與第一篇中的各章(除第10、11章外)內(nèi)容相對應,可以有效地幫助讀者鞏固所學的理論知識。
本書可作為本科院校相關專業(yè)的教材,也可供高職高專院校及相關培訓機構教學使用,還可作為參加全國計算機等級考試人員以及數(shù)據(jù)庫應用系統(tǒng)設計開發(fā)人員的參考用書。
1.深化實驗教學,鞏固所學理論!
本書第二篇中的各個實驗,均分為驗證性實驗和設計性實驗兩個部分。通過實驗教學,教師可以很大限度地培養(yǎng)學生利用SQL獨立設計、編寫和調(diào)試代碼的能力,還可以促使院校理論教學和實驗教學融為一體。
2.系統(tǒng)構建知識框架,著重培養(yǎng)綜合素質!
本書系統(tǒng)構建了MySQL數(shù)據(jù)庫的基礎知識框架,通過實驗著重培養(yǎng)學生在數(shù)據(jù)庫設計、MySQL查詢語句編寫、數(shù)據(jù)庫語言編程以及簡單數(shù)據(jù)庫應用系統(tǒng)開發(fā)等方面的能力。
3.配套教輔資源豐富,全方位服務教師教學!
本書提供PPT、教學大綱、教案、課后習題參考答案(見附錄A)、教學進度表、所有實例的源代碼等教輔資源,讀者可通過人郵教育社區(qū)(www.ryjiaoyu.com)進行下載。
趙明淵:
男,電子科技大學計算機應用技術專業(yè)博士,中國農(nóng)業(yè)銀行四川省分行計算機高級工程師,國務院頒發(fā)證書的享受政府特殊津貼的專家,西南財經(jīng)大學兼職教授。從1995年起至今,先后在電子科技大學、四川大學、西南財經(jīng)大學等校擔任SQL Server數(shù)據(jù)庫、Oracle數(shù)據(jù)庫、MySQL數(shù)據(jù)庫、Access數(shù)據(jù)庫、數(shù)據(jù)庫原理與應用、大數(shù)據(jù)等課程的教學工作。獲四川省科技進步獎三等獎2項:1987年《遠程通訊勞動人事統(tǒng)計信息系統(tǒng)》,本人系項目組長和第一主研人員;2002年《四川省農(nóng)業(yè)銀行經(jīng)營管理信息系統(tǒng)》,本人系項目組長和第一主研人員。主編6本著作:《SQL Server數(shù)據(jù)庫教程》2014年,《Oracle數(shù)據(jù)庫教程》2015年,《Java EE教程》2015年,《SQL Server數(shù)據(jù)庫教程(第2版)》2017年,《Android應用開發(fā)教程》2018年,《數(shù)據(jù)庫原理與應用教程——SQL Server 2014》2018年。在近期發(fā)表的學術論文中,SCI檢索4篇,EI檢索13篇。
唐明偉:
男,西華大學計算機與軟件工程學院,教授,副院長,博士。四川省第十二批學術和技術帶頭人后備人選,四川省計算機類教學指導委員會委員,教育部評審專家,四川省專家評審委員會專家,大數(shù)據(jù)與安全四川省教育廳重點實驗室主任,四川省計算機學會常務理事。四川等十余個省市科技部門科研項目和政府獎評審專家。至今,在國內(nèi)外重要期刊和國際會議上發(fā)表論文60余篇,其中被SCI/EI檢索50余篇。到目前為止,主持和主研包含國家級項目、教育部、四川省科技廳基金在內(nèi)的各類基金20余項,國家發(fā)明專利10余項多項。
第 一篇 MySQL數(shù)據(jù)庫基礎
第 1章 數(shù)據(jù)庫基礎
第 2章 MySQL語言
第3章 數(shù)據(jù)定義
第4章 數(shù)據(jù)操縱
第5章 數(shù)據(jù)查詢
第6章 視圖和索引
第7章 MySQL編程技術
第8章 MySQL安全管理
第9章 備份和恢復
第 10章 事務管理
第 11章 PHP和MySQL教學管理系統(tǒng)開發(fā)
第二篇 MySQL實驗
實驗1 數(shù)據(jù)庫基礎 208
實驗2 MySQL語言 214
實驗3 數(shù)據(jù)定義 216
實驗4 數(shù)據(jù)操縱 226
實驗5 數(shù)據(jù)查詢 231
實驗6 視圖和索引 237
實驗7 MySQL編程技術 241
實驗8 MySQL安全管理 247
實驗9 備份和恢復 250
附錄A 課后習題參考答案 252
附錄B 教學數(shù)據(jù)庫teaching的表結構和樣本數(shù)據(jù) 272
參考文獻 275
【具體目錄】
第 一篇 MySQL數(shù)據(jù)庫基礎
第 1章 數(shù)據(jù)庫基礎
1.1 數(shù)據(jù)庫系統(tǒng)的基本概念 02
1.1.1 數(shù)據(jù)和信息 02
1.1.2 數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng) 03
1.2 數(shù)據(jù)模型 04
1.2.1 數(shù)據(jù)模型的概念、類型和組成要素 04
1.2.2 概念模型 06
1.2.3 邏輯模型 07
1.3 關系數(shù)據(jù)庫 08
1.3.1 關系數(shù)據(jù)庫的基本概念 08
1.3.2 關系運算 09
1.4 概念結構設計和邏輯結構設計 10
1.5 MySQL數(shù)據(jù)庫管理系統(tǒng) 13
1.6 MySQL 8.0的安裝和配置 14
1.6.1 MySQL 8.0安裝 14
1.6.2 MySQL 8.0配置 17
1.7 MySQL服務器的啟動、關閉和登錄 20
1.7.1 MySQL服務器的啟動和關閉 20
1.7.2 MySQL服務器登錄 21
本章小結 23
習題1
第 2章 MySQL語言
2.1 SQL和MySQL語言組成 26
2.1.1 SQL 26
2.1.2 MySQL語言組成 27
2.2 數(shù)據(jù)類型 28
2.2.1 數(shù)值類型 28
2.2.2 字符串類型 29
2.2.3 日期和時間類型 29
2.2.4 二進制數(shù)據(jù)類型 30
2.2.5 其他數(shù)據(jù)類型 30
2.2.6 數(shù)據(jù)類型的選擇 31
2.3 常量、變量、運算符和表達式 31
2.3.1 常量 31
2.3.2 變量 34
2.3.3 運算符和表達式 37
2.4 MySQL函數(shù) 39
2.4.1 數(shù)學函數(shù) 39
2.4.2 字符串函數(shù) 41
2.4.3 日期和時間函數(shù) 43
2.4.4 其他函數(shù) 44
本章小結 45
習題2
第3章 數(shù)據(jù)定義
3.1 數(shù)據(jù)定義語言 48
3.2 創(chuàng)建MySQL數(shù)據(jù)庫 49
3.2.1 MySQL數(shù)據(jù)庫的基本概念 49
3.2.2 創(chuàng)建數(shù)據(jù)庫 49
3.2.3 選擇數(shù)據(jù)庫 50
3.2.4 修改數(shù)據(jù)庫 51
3.2.5 刪除數(shù)據(jù)庫 51
3.3 創(chuàng)建MySQL表 52
3.3.1 表的基本概念 52
3.3.2 創(chuàng)建表 54
3.3.3 查看表 55
3.3.4 修改表 57
3.3.5 刪除表 60
3.4 數(shù)據(jù)完整性約束 60
3.4.1 數(shù)據(jù)完整性的基本概念 60
3.4.2 PRIMARY KEY約束 63
3.4.3 UNIQUE約束 65
3.4.4 FOREIGN KEY約束 66
3.4.5 CHECK約束 69
3.4.6 NOT NULL約束 70
本章小結 70
習題3
第4章 數(shù)據(jù)操縱
4.1 數(shù)據(jù)操縱語言 74
4.2 使用INSERT語句插入數(shù)據(jù) 74
4.2.1 INSERT語句的語法格式和插入數(shù)據(jù)的方法 74
4.2.2 插入多條記錄 77
4.2.3 REPLACE語句 78
4.2.4 插入查詢結果語句 78
4.3 使用UPDATE語句修改數(shù)據(jù) 79
4.3.1 修改指定記錄 79
4.3.2 修改全部記錄 80
4.4 使用DELETE語句刪除數(shù)據(jù) 80
4.4.1 刪除指定記錄 81
4.4.2 刪除全部記錄 81
本章小結 82
習題4
第5章 數(shù)據(jù)查詢
5.1 數(shù)據(jù)查詢語言 85
5.2 單表查詢 86
5.2.1 SELECT子句 86
5.2.2 WHERE子句 89
5.2.3 GROUP BY子句和HAVING子句 93
5.2.4 ORDER BY子句和LIMIT子句 97
5.3 多表查詢 98
5.3.1 連接查詢 99
5.3.2 子查詢 105
5.3.3 聯(lián)合查詢 108
本章小結 108
習題5
第6章 視圖和索引
6.1 視圖 112
6.1.1 視圖概述 112
6.1.2 創(chuàng)建視圖 113
6.1.3 查詢視圖 114
6.1.4 更新視圖 115
6.1.5 修改視圖 118
6.1.6 刪除視圖 119
6.2 索引 119
6.2.1 索引概述 119
6.2.2 創(chuàng)建索引 121
6.2.3 查看索引 123
6.2.4 刪除索引 124
本章小結 125
習題6
第7章 MySQL編程技術
7.1 存儲過程 128
7.1.1 存儲過程概述 128
7.1.2 創(chuàng)建存儲過程 129
7.1.3 局部變量 131
7.1.4 流程控制 133
7.1.5 存儲過程的調(diào)用 140
7.1.6 存儲過程的刪除 142
7.2 存儲函數(shù) 142
7.2.1 存儲函數(shù)概述 142
7.2.2 創(chuàng)建存儲函數(shù) 143
7.2.3 調(diào)用存儲函數(shù) 144
7.2.4 刪除存儲函數(shù) 144
7.3 觸發(fā)器 144
7.3.1 觸發(fā)器概述 144
7.3.2 創(chuàng)建觸發(fā)器 145
7.3.3 使用觸發(fā)器 146
7.3.4 刪除觸發(fā)器 148
7.4 事件 148
7.4.1 事件概述 148
7.4.2 創(chuàng)建事件 149
7.4.3 修改事件 151
7.4.4 刪除事件 151
本章小結 152
習題7
第8章 MySQL安全管理
8.1 權限系統(tǒng) 155
8.1.1 MySQL權限系統(tǒng)工作過程 155
8.1.2 MySQL權限表 156
8.2 用戶管理 157
8.2.1 創(chuàng)建用戶 157
8.2.2 刪除用戶 158
8.2.3 修改用戶賬號 158
8.2.4 修改用戶口令 159
8.3 權限管理 159
8.3.1 授予權限 159
8.3.2 撤銷權限 163
本章小結 164
習題8
第9章 備份和恢復
9.1 備份和恢復的基本概念 167
9.2 備份數(shù)據(jù) 168
9.2.1 使用SELECT…INTO OUTFILE語句導出表數(shù)據(jù) 168
9.2.2 使用mysqldump命令備份數(shù)據(jù) 169
9.3 恢復數(shù)據(jù) 173
9.3.1 表數(shù)據(jù)導入 173
9.3.2 使用mysql命令恢復數(shù)據(jù) 174
本章小結 175
習題9
第 10章 事務管理
10.1 事務 177
10.1.1 事務的概念 177
10.1.2 事務特性 177
10.2 事務控制語句 178
10.3 事務的并發(fā)處理 182
10.4 管理鎖 183
10.4.1 鎖機制 184
10.4.2 鎖的級別 184
10.4.3 死鎖 185
本章小結 186
習題10
第 11章 PHP和MySQL教學管理系統(tǒng)開發(fā)
11.1 PHP簡介 189
11.1.1 PHP基本概念和特點 189
11.1.2 PHP運行環(huán)境 190
11.1.3 PHP運行過程 191
11.2 教學項目數(shù)據(jù)庫創(chuàng)建 191
11.3 PHP開發(fā)環(huán)境搭建 192
11.3.1 PHP集成軟件環(huán)境的搭建 193
11.3.2 PHP開發(fā)工具 194
11.4 教學管理系統(tǒng)開發(fā) 199
11.4.1 主界面開發(fā) 199
11.4.2 學生管理界面開發(fā)與功能實現(xiàn) 201
本章小結 205
習題11
第二篇 MySQL實驗
實驗1 數(shù)據(jù)庫基礎 208
實驗1.1 E-R圖畫法與概念模型向邏輯模型的轉換 208
實驗1.2 MySQL數(shù)據(jù)庫安裝、啟動和關閉 212
實驗2 MySQL語言 214
實驗3 數(shù)據(jù)定義 216
實驗3.1 創(chuàng)建數(shù)據(jù)庫 216
實驗3.2 創(chuàng)建表 217
實驗3.3 數(shù)據(jù)完整性約束 221
實驗4 數(shù)據(jù)操縱 226
實驗5 數(shù)據(jù)查詢 231
實驗5.1 單表查詢 231
實驗5.2 多表查詢 233
實驗6 視圖和索引 237
實驗6.1 視圖 237
實驗6.2 索引 238
實驗7 MySQL編程技術 241
實驗7.1 存儲過程和存儲函數(shù) 241
實驗7.2 觸發(fā)器和事件 244
實驗8 MySQL安全管理 247
實驗9 備份和恢復 250
附錄A 課后習題參考答案 252
第 1章 數(shù)據(jù)庫基礎 252
第 2章 MySQL語言 253
第3章 數(shù)據(jù)定義 254
第4章 數(shù)據(jù)操縱 257
第5章 數(shù)據(jù)查詢 260
第6章 視圖和索引 263
第7章 MySQL編程技術 265
第8章 MySQL安全管理 268
第9章 備份和恢復 269
第 10章 事務管理 270
第 11章 PHP和MySQL教學管理系統(tǒng)開發(fā) 271
附錄B 教學數(shù)據(jù)庫teaching的表結構和樣本數(shù)據(jù) 272
參考文獻 275