MySQL 數據庫性能優(yōu)越,功能強大,是深受讀者歡迎的開源數據庫之一。本書由淺入深、循序漸進、 系統(tǒng)地介紹了MySQL 的相關知識及其在數據庫開發(fā)中的實際應用,并通過具體案例,幫助讀者鞏固所學 知識,以便更好地開發(fā)實踐。全書共分為13 章,內容涵蓋了認識與理解數據庫、安裝與配置MySQL 數 據庫、數據庫與數據表的基本操作、數據查詢、索引的創(chuàng)建與管理、視圖的創(chuàng)建與管理、觸發(fā)器、事務、 事件、存儲過程與存儲函數、訪問控制與安全管理、數據庫的備份與恢復,以及綜合的實踐教學項目 圖書管理系統(tǒng)數據庫設計。本書結合全國計算機等級考試二級MySQL 考試大綱編寫,章節(jié)后面配有習題, 適當融入思政元素,并配備了相應的教案與課件。 本書內容豐富,講解深入,適合初級、中級MySQL 用戶,既可以作為各類高等職業(yè)技術院校與職業(yè) 本科院校相關專業(yè)的課程教材,也可以作為廣大MySQL 愛好者的實用參考書。
好學:學習目標 內容講解 實踐任務 綜合實戰(zhàn)項目 模擬練習;
好用:理論 實戰(zhàn) 模擬習題 教案 PPT課件
數據庫技術是現代信息技術的重要組成部分,隨著計算機技術的發(fā)展與廣泛應用,無論是數據庫技術基礎理論、數據庫技術應用、數據庫系統(tǒng)開發(fā),還是數據庫商品軟件的推出,都有著長足的進步。與此同時,隨著計算機應用的推廣使用,數據庫技術已深入國民經濟和社會生活的各個領域,各種應用軟件一般都是以數據庫技術及其應用為基礎和核心進行開發(fā)使用的。MySQL 是當下比較流行的關系數據庫管理系統(tǒng)之一,由瑞典MySQL AB公司開發(fā),目前屬于Oracle 公司旗下產品。MySQL 由于體積小、速度快、總體擁有成本低,尤其是開放源代碼這一特性,促使很多中小型網站用戶把MySQL 作為數據庫首選。本書參考全國計算機等級考試二級考試大綱,結合實際的企業(yè)案例,以讀者易于理解和掌握的項目作為載體展開講解。本書共分為13 章,內容包括認識與理解數據庫、安裝與配置MySQL 數據庫、數據庫與數據表的基本操作、數據查詢、索引的創(chuàng)建與管理、視圖的創(chuàng)建與管理、觸發(fā)器、事務、事件、存儲過程與函數、訪問控制與安全管理、數據庫的備份與恢復及綜合實例。隨書附贈全國計算機等級考試二級模擬試題,供讀者模擬練習。
本書從軟件的安裝到使用,都配有相應的操作步驟圖,力求在體系結構上清晰合理,內容通俗易懂,便于讀者自學。本書注重應用、案例豐富、步驟清晰、圖文并茂,既可以作為高等職業(yè)院校、職業(yè)本科院校計算機類相關專業(yè)的數據庫核心課程用書,也可以作為計算機等級考試的參考用書,還可以供非計算機專業(yè)的初學者及數據庫愛好者學習。
本書每章前面提供學習目標,每章后面配有總結與訓練,供學生及時理解并回顧本章內容。全書還提供了相應的PPT 課件、教案等多種資源輔助教師教學和學生學習。
本書由廣西機電職業(yè)技術學院的蔣桂文、鄧谞嬋、王進忠、劉春霞擔任主編,歐義發(fā)、梁雨中、許玉婷、黎峻瑋、雷浚擔任副主編。主要執(zhí)筆人:蔣桂文(第2 章、第9 章)、鄧谞嬋(第1 章、第4 章)、王進忠(第3 章、第13 章)、劉春霞(第5 章、第7 章)、梁雨中(第6 章)、許玉婷(第8 章、第10 章)、黎峻瑋(第11 章)、雷浚(第12章)。本教材融入思政內容,得到了我校馬克思主義學院教師的悉心指導,由蔣桂文擔任全書統(tǒng)稿工作,歐義發(fā)(高級工程師)參與了教材的指導思想、體系結構、編寫體例的討論,同時還參與了資料收集等工作,為本書的編寫作出了貢獻。
本書在編寫的過程中,參考了大量的書籍與資料,吸取了許多老師的經驗,在此表示感謝。盡管編寫組作出了很大努力,力圖使教材水平有新的提高,希望更加適合學生學習和使用,但書中仍難免存在疏漏之處,懇請讀者提出意見。
本書編寫組
蔣桂文,廣西機電職業(yè)技術學院教師,高級實驗師,主要承擔了《數據庫管理系統(tǒng)基礎》、《python程序設計》、《C程序設計》、《計算機技能實訓》及全國計算機等級培訓等課程,主持完成了廣西教育廳項目2項,參與市廳級項目多項。主持完成院級項目2項,公開發(fā)表論文12篇。課程建設方面,組織團隊獲得了課程思政區(qū)級示范,院級精品課程的建設。曾參與編寫了清華大學出版社《計算機組裝與維護教程》;主編《計算機應用技能實戰(zhàn)全國計算機等級考試一級MS Office(活頁版)》教材。
第1 章 認識與理解數據庫 1
1.1 數據庫及相關概念 1
1.1.1 基本概念 2
1.1.2 數據管理技術的發(fā)展 3
1.1.3 常用的數據庫管理系統(tǒng) 6
1.2 數據模型和E-R 圖 7
1.2.1 數據模型的概念 8
1.2.2 概念模型E-R 圖的表示方法 9
1.2.3 常見的數據模型 11
1.3 關系數據庫 12
1.4 認識SQL 語言 13
1.4.1 SQL 概述 13
1.4.2 SQL 的組成 13
1.4.3 SQL 參考的語法約定 14
1.5 總結與訓練 14
實踐任務一:思考題 15
實踐任務二:設計題 15
第2 章 安裝與配置MySQL 數據庫 16
2.1 在Windows 環(huán)境下安裝MySQL 16
2.1.1 MySQL 軟件下載 16
2.1.2 MySQL 軟件的安裝與配置 19
2.2 啟動和停止MySQL 服務 27
2.3 登錄和退出MySQL 30
2.3.1 使用MySQL 8.0 Command Line Client登錄MySQL 30
2.3.2 使用DOS 命令提示符登錄MySQL 30
2.3.3 修改MySQL 登錄密碼 31
2.3.4 修改MySQL 客戶端字符編碼 32
2.3.5 退出MySQL 33
2.4 MySQL 圖形化管理工具 33
2.4.1 Navicat for MySQL 的下載 33
2.4.2 Navicat for MySQL 的安裝 34
2.4.3 Navicat 連接MySQL 35
2.5 在Linux 環(huán)境下安裝MySQL 37
2.6 總結與訓練 41
實踐任務:安裝與調試MySQL、Navicat 軟件 41
第3 章 數據庫與數據表的基本操作 42
3.1 創(chuàng)建與管理數據庫 42
3.1.1 創(chuàng)建數據庫 42
3.1.2 查看與選擇數據庫 43
3.1.3 修改數據庫 45
3.1.4 刪除數據庫 45
3.2 創(chuàng)建與管理數據表 46
3.2.1 創(chuàng)建數據表 46
3.2.2 查看數據表 53
3.2.3 修改數據表 54
3.2.4 刪除數據表 59
3.3 數據表記錄的管理 60
3.3.1 插入數據 60
3.3.2 更新數據 62
3.3.3 刪除數據 63
3.4 總結與訓練 64
實踐任務一:創(chuàng)建數據庫和數據表 65
實踐任務二:表數據管理與維護 66
第4 章 數據查詢 69
4.1 單表查詢 69
4.1.1 查詢語句的基本語法 69
4.1.2 簡單查詢 70
4.1.3 WHERE 子句指定查詢條件 73
4.1.4 ORDER BY 子句排序 78
4.2 統(tǒng)計查詢 79
4.2.1 集合函數 79
4.2.2 GROUP BY 子句分組 80
4.2.3 HAVING 子句分組后篩選 82
4.3 多表查詢 83
4.3.1 內聯接 84
4.3.2 左外聯接 85
4.3.3 右外聯接 86
4.3.4 自然聯接 87
4.4 子查詢 87
4.4.1 比較子查詢 88
4.4.2 IN 子查詢 89
4.4.3 批量比較子查詢 90
4.4.4 EXISTS 子查詢 91
4.4.5 在INSERT、UPDATE、DELETE 語句中使用子查詢 92
4.5 聯合查詢(UNION) 94
4.6 總結與訓練 96
實踐任務一:在studentgradeinfo 數據庫中進行簡單查詢 96
實踐任務二:在studentgradeinfo 數據庫中進行多表統(tǒng)計查詢和子查詢 96
第5 章 索引的創(chuàng)建與管理 97
5.1 索引的概念 97
5.2 索引的分類 98
5.2.1 根據索引特征進行分類 98
5.2.2 根據索引涉及的列數進行分類 99
5.2.3 根據索引的存儲方式進行分類 99
5.2.4 根據索引與數據的物理存儲關系進行分類 99
5.3 索引的創(chuàng)建 100
5.3.1 創(chuàng)建數據表的同時創(chuàng)建索引 100
5.3.2 在已有的數據表上創(chuàng)建索引 101
5.3.3 修改數據表的同時創(chuàng)建索引 102
5.4 索引的查看 103
5.5 索引的刪除 105
5.6 總結與訓練 106
實踐任務:創(chuàng)建與管理索引 106
第6 章 視圖的創(chuàng)建與管理 108
6.1 視圖的基本概念 108
6.2 創(chuàng)建視圖 109
6.2.1 創(chuàng)建視圖語法格式 110
6.2.2 視圖的規(guī)則和限制 110
6.2.3 在單表上創(chuàng)建簡單視圖 110
6.2.4 查看簡單視圖結構 112
6.2.5 在多表上創(chuàng)建視圖 113
6.3 查看視圖 115
6.3.1 使用DESCRIBE/DESC 語句查看視圖基本信息 115
6.3.2 使用SHOW TABLES 語句查看視圖基本信息 116
6.3.3 使用SHOW CREATE VIEW 語句查看視圖創(chuàng)建信息 116
6.4 更新視圖數據 117
6.4.1 向視圖中插入數據 117
6.4.2 通過視圖更新數據 118
6.4.3 通過視圖刪除數據 119
6.5 管理視圖 119
6.5.1 修改視圖 119
6.5.2 刪除視圖 120
6.6 總結與訓練 121
實踐任務:創(chuàng)建視圖和管理視圖 121
第7 章 觸發(fā)器 122
7.1 觸發(fā)器的概念 122
7.2 創(chuàng)建觸發(fā)器 123
7.3 查看觸發(fā)器 129
7.3.1 通過SHOW TRIGGERS 語句查看觸發(fā)器 129
7.3.2 通過TRIGGERS 表查看觸發(fā)器 130
7.4 刪除觸發(fā)器 130
7.5 總結與訓練 131
實踐任務:創(chuàng)建與管理觸發(fā)器 131
第8 章 事務 133
8.1 事務概述 133
8.1.1 為什么要引入事務 133
8.1.2 MySQL 事務處理機制 133
8.2 事務的特性 134
8.3 事務處理 134
8.4 事務并發(fā)時出現的問題 139
8.5 事務隔離級別 140
8.6 總結與訓練 141
實踐任務:事務的基本操作 141
第9 章 事件 142
9.1 事件調度器 142
9.2 創(chuàng)建事件 143
9.3 修改事件與查看事件狀態(tài) 149
9.4 刪除事件 150
9.5 總結與訓練 150
實踐任務:事件的基本操作 151
第10 章 存儲過程與存儲函數 152
10.1 存儲過程 152
10.1.1 什么是存儲過程 152
10.1.2 存儲程序的類型 153
10.1.3 存儲過程的作用 153
10.1.4 創(chuàng)建存儲過程 154
10.1.5 管理存儲過程 157
10.2 存儲函數 159
10.2.1 MySQL 常用函數 159
10.2.2 存儲過程與存儲函數的聯系與區(qū)別 160
10.2.3 創(chuàng)建存儲函數 161
10.2.4 管理存儲函數 163
10.3 總結與訓練 164
實踐任務:存儲過程與函數的基本操作 164
第11 章 訪問控制與安全管理 166
11.1 MySQL 用戶賬號管理 166
11.1.1 權限查驗 166
11.1.2 添加用戶 167
11.1.3 修改用戶信息 168
11.1.4 刪除用戶 170
11.2 MySQL 賬戶權限管理 170
11.2.1 MySQL 常見權限 171
11.2.2 權限授予 171
11.2.3 查看權限 172
11.2.4 收回權限 173
11.3 總結與訓練 174
實踐任務:創(chuàng)建學生成績庫管理員 174
第12 章 數據庫的備份與恢復 175
12.1 MySQL 數據庫的備份與恢復 175
12.1.1 數據庫備份的分類 175
12.1.2 數據庫的備份 176
12.1.3 數據庫的恢復 181
12.2 二進制日志文件的使用 182
12.2.1 二進制日志概念 183
12.2.2 啟動和設置二進制日志 183
12.2.3 查看二進制日志 184
12.2.4 刪除二進制日志 185
12.2.5 暫時停止二進制日志 186
12.3 總結與訓練 186
實踐任務:備份數據庫和數據表 186
第13 章 圖書管理系統(tǒng)數據庫設計 187
13.1 系統(tǒng)概述 187
13.2 需求分析 187
13.2.1 圖書管理系統(tǒng)需求分析 188
13.2.2 數據安全與約束 188
13.2.3 數據流程圖 189
13.3 概要設計 189
13.3.1 實體及聯系 190
13.3.2 E-R 圖 190
13.4 數據庫設計 191
13.4.1 數據庫模型 192
13.4.2 數據表模型 192
13.4.3 數據庫模型函數依賴集 193
13.4.4 數據表創(chuàng)建 194
13.4.5 錄入測試數據 195
13.5 業(yè)務功能實現 196
13.5.1 讀者管理 197
13.5.2 圖書管理 197
13.5.3 借書和還書 198
13.5.4 罰款 199
13.5.5 信息查詢 199
13.6 運行環(huán)境描述 200
13.7 本章小結 200
附錄A 二級考試模擬練習 201
模擬試卷一 201
模擬試卷二 202
模擬試卷三 203
模擬試卷四 205
模擬試卷五 206
模擬試卷六 208