MySQL數據庫任務驅動式教程(第3版)(微課版)

石坤泉 湯雙霞

  • 出版商: 人民郵電
  • 出版日期: 2022-05-01
  • 定價: $330
  • 售價: 8.5$281
  • 語言: 簡體中文
  • ISBN: 7115577323
  • ISBN-13: 9787115577320
  • 相關分類: MySQLSQL
  • 下單後立即進貨 (約4週~6週)

  • MySQL數據庫任務驅動式教程(第3版)(微課版)-preview-1
  • MySQL數據庫任務驅動式教程(第3版)(微課版)-preview-2
MySQL數據庫任務驅動式教程(第3版)(微課版)-preview-1

商品描述

本書對標《全國電腦等級考試二級MySQL數據庫程序設計考試大綱》,結合Oracle認證考試(SQL認證)以及“l+X"Web前端開發職業技能等級考試內容編寫而成。本書採用MySQL8.0版本,將MySQL8.0的新特性、新功能寫入教材,主要講述數據庫設計的基本原理和基本方法、MySQL基礎及其應用。全書共11個項目(26個任務),包括認識數據庫,MySQL實訓環境配置,MySQL字符集與數據類型,建庫、建表與數據表管理,數據查詢、數據處理與視圖,創建和使用程序,數據庫安全與性能優化,PHP基礎及訪問MySQL數據庫,訪問MySQL數據庫,phpMyAdmin操作數據庫以及MySQL集群架構搭建實例。

本書可以作為高職高專學生的數據庫教材,也可以作為全國電腦等級考試二級MySQL數據庫程序設計、Oracle認證考試(SQL認證)以及“l+X"Web前端開發職業技能等級考試的參考教材,還可以作為數據庫開發人員的實用參考書或者職業培訓教材。

作者簡介

石坤泉,男,1967年4月出生,广东兴宁人,中共党员,计算机科学技术教授,广东南粤教坛新秀,广州市教育系统优秀党务工作者。广东省高等学校公共课教指委委员,中国工信出版传媒集团“十三五”职业教育规划教材评审专家,广东省计算机学会竞赛委员会委员,教育部教育管理信息中心全国信息技术应用水平大赛优秀指导老师。

系统讲授《MySql数据库技术与应用》、《操作系统实务》、《数字电子线路》、《ACCESS数据库》、《计算机文化基础》等多门课程,教学效果好,曾多次获得学校教学质量优秀奖、优秀教师称号。

主持和主要成员省、市科技项目、教育科学规划、教育教学改革、创新创业教育等科研项目15项190多万元,其中,广东省教育厅高校省级重点平台和重大科研项目2项、广东省教育科学规划项目2项、广州市教育科学规划课题2项,主持广东省教育厅与思科(中国)产学合作协同育人项目2项;发表专业论文25篇(其中,北大中文核心4篇,EI、CSSCI、SCD/CSCD、等3篇,ISTP检索3篇);实用专利和软件著作权11项;获广州市高等学校教学成果奖一等奖1项,校级教学成果一等奖1项;主编(著)教材11部,专著1部,其中,主编国家“十二五规划”教材2部,新形态立体化教材7部,并申报国家“十三五规划”教材4部;主持校级精品课程2门。

目錄大綱

基礎篇

項目一認識數據庫

任務1

認識數據庫1

【任務背景】1

【任務要求】1

【任務分解】1

1.1 瞭解數據庫的基本應用1

1.2 瞭解數據庫的幾個概念2

1.3 認識關系數據庫3

1.4 關系數據庫設計4

1.4.1 實體、展性、聯系4

1.4.2 將E-R 圖轉換為關系模式6

1.4.3 關系模式的規範化6

1.5 數據庫應用系統體系結構9

1.5.1 認識C/S 模式數據庫9

1.5.2 認識B/S 模式數據庫9

1.6 認識一個真實的關系數據庫10

【項目實踐】12

【習題】12

任務2

認識MySQL14

【任務背景】14

【任務要求】14

【任務分解】14

2.1 認識SQL14

2.1.1 SQL 的特點4

2.1.2 SQL 的類型15

2.2 MySQL概述15

2.3 認識MySQL8.015

2.4 MySQL的管理工具16

2.5 初識MySQL數據類型19

2.6 初識MySQL的基本語句19

【習題】19

項目二MySQL實訓環境配置

任務3

Windows 操作系統中MySQL的安裝與配置21

【任務背景】21

【任務要求】21

【任務分解】21

3.1 MySQL服務器的安裝與配置21

3.1.1 MySQL 服務器的安裝22

3.1.2 MySQL 服務器的配置24

3.2 更改MySQL的配置27

3.2.1 通過配置向導來更改配置27

3.2.2 通過修改my.ini 文件來更改配置28

3.3 連接MySQL本地服務28

3.3.1 MySQL服務器的啟動和關閉28

3.3.2 MySQL客戶端鏈接MySQL服務器29

3.3.3 DOS命令連接MySQL服務器30

3.4 遠程訪問MySQL服務器30

【項目實踐】31

【習題】31

任務4

安裝配置WAMP Server 3.2 32

【任務背景】32

【任務要求】32

【任務分解】32

4.1 認識WAMP Server 3.2 32

4.2 安裝WAMP Server 3.2 32

4.3 配置WAMP Server3.2 34

4.3.1 設置用戶登錄密碼 34

4.3.2 PHP文件目錄 35

【項目實踐】 35

【習題】 35

項目三MySQL字符集與數據類型

任務5

認識和設置MySQL字符集36

【任務背景】 35

【任務要求】 35

【任務分解】 35

5.1 認識字符集和校對原則 36

5.2 MySQL 8.0支持的字符集和校對原則 37

5.3 確定字符集和校對原則 38

5.4 使用MySQL字符集時的建議. 39

【項目實踐】 40

【習題】 40

任務6

MySQL數據類型 41

【任務背景】41

【任務要求】41

【任務分解】41

6.1 整數類型 41

6.2 浮點數類型和定點數類型 41

6.3 CHAR類型和VARCHAR類型 42

6.4 TEXT類型和BLOB類型 42

6.5 BINARY類型和VARBINARY類型 43

6.6 日期和時間類型 43

6.7 ENUM類型和SET類型 43

6.8 如何選擇數據類型 44

6.9 數據類型的附加屬性 44

【項目實踐】 45

【習題】 45

項目四 建庫、建表與數據表管理

任務7

創建數據庫和表 46

【任務背景】 46

【任務要求】 46

【任務分解】 46

7.1 創建與管理數據庫 46

7.1.1 創建庫 46

7.1.2 查看庫 47

7.1.3 修改庫 47

7.1.4 刪除庫 47

7.2 創建與管理表 47

7.2.1 創建表 47

7.2.2 查看表. 51

7.2.3 修改表. 51

7.2.4 復製表. 52

7.2.5 刪除表 52

7.3 表數據操作 53

7.3.1 插入數據 53

7.3.2 修改數據 55

7.3.3 刪除數據 55

7.4 對JSON數據類型的使用 56

7.5 計算字段的使用 56

【項目實踐】56

【習題】58

任務8

創建和管理索引 60

【任務背景】60

【任務要求】60

【任務分解】60

8.1 認識索引 60

8.1.1 索引的分類 61

8.1.2 索引的設計原則 61

8.2 索引的創建 62

8.2.1 創建表時創建索引 62

8.2.2 用CREATE INDEX語句創建索引 62

8.2.3 用ALTER TABLE語句創建索引 64

8.3 索引的查看 64

8.4索引的刪除 65

8.4.1 用DROP IN DEX 語句刪除索引 65

8.4.2 用ALTER TABLE語句刪除索引 65

【項目實踐】 66

【習題】 66

任務9

數據約束和參照完整性 68

【任務背景】 68

【任務要求】 68

【任務分解】 68

9.1 PRMI ARKY EY約束 68

9.1.1 理解PRIMARY KEY約束 68

9.1.2 設置主鍵的兩種方式 68

9.1.3 復合主鍵 69

9.1.4 修改表的主鍵 69

9.2 UNIQUE約束 69

9.2.1 理解UNIQUE約束 69

9.2.2 創建UNI QUE約束 69

9.2.3 修改UNIQUE 約束 70

9.3 FOREGI KN EY參照完整性約束 70

9.3.1 理解參照完整比約束 70

9.3.2 在創建表時創建外鍵 71

9.3.3 對已有的表添加外鍵 71

9.3.4 創建級聯刪除、級聯更新 72

9.4 CHECK約束 72

9.4.1 理解CHECK約束 72

9.4 .2 創建CHEC K約束 72

【項目實踐】 73

【習題】 73

項目五 數據查詢、數據處理與視圖

任務10

數據庫的查詢 74

【任務背景】 74

【任務要求】 74

【任務分解】 74

10.1 瞭解SELECT語法結構 4

10.2 認識基本子句 .75

10.2.1 認識SELECT 子句 75

10.2.2 認識FROM 子句 76

10.2.3 認識WHERE 子句 77

10.2.4 認識GROUP BY 子句 80

10.2.5 認識ORDER BY 子句 81

10.2.6 認識HAVING 子句 82

10.2.7 認識LIMIT 子句 83

10.3 使用聚合函數進行統計查詢 83

10.4 多表連接查詢 84

10.4.1 全連接. 85

10.4.2 JOIN 連接 86

10.5 嵌套查詢 87

10.5.1 嵌套在WHERE 子句中 88

10.5.2 嵌套在SELECT 子句中 89

10.5.3 嵌套在FROM 子句中 89

10.5.4 IN 子查詢 90

10.5.5 比較子查詢 91

10.5.6 EXISTS 子查詢 92

10.6 聯合查詢 92

【項目實踐】 93

【習題】 94

任務11

MySQL 運算符和函數 96

【任務背景】 96

【任務要求】 96

【任務分解】 96

11.1 認識和使用運算符 96

11.1.1 算術運算符 96

11.1.2 比較運算符 98

11.1.3 邏輯運算符 103

11.1.4 位運算符104

11.1.5 運算符的優先級 105

11.2 認識和使用函數 106

11.2.1 數學函數 106

11.2.2 聚合函數 109

11.2.3 日期和時間函數111

11.2.4 控制流判斷函數 115

11.2.5 字符串函數 117

11.2.6 系統信息函數. 118

11.2.7 加密函數 119

11.2.8 格式化函數 119

11.3 使用JSON函數 119

11.4 使用窗口函數 120

【項目實踐】122

【習題】 122

任務12

創建和使用視圖 123

【任務背景】 123

【任務要求】 123

【任務分解】 123

12.1 認識視圖123

12.2視圖的特性 123

12.3 創建視圖 124

12.3.1 來自一張基本表 124

12.3.2 來自多張基本表 125

12.3.3 來自視圖 125

12.4 查看視圖 126

12.4.1 查看己創建的視圖 126

12.4.2 查看視圖的結構 126

12.4.3 查看視圖的定義 126

12.5 使用視圖 127

12.5.1 使用視圖進行查詢 127

12.5.2 使用視圖進行計算 127

12.5.3 使用視圖操作基本表數據 127

12.6 修改視圖 128

12.7刪除視圖 128

【項目實踐】 129

【習題】. 129

高級篇

項目六 創建和使用程序

任務13

建立和使用存儲過程 131

【任務背景】131

【任務要求】 131

【任務分解】131

13.1 認識存儲過程 131

13.2 創建基本的存儲過程 132

13.2.1 關於DELIMITER 命令 132

13.2.2 創建基本存儲過程 132

13.2.3 查看存儲過程 134

13.3 執行存儲過程 135

13.4 創建帶變量的存儲過程 135

13.4.1 局部變量聲明與賦值 135

13.4.2 創建使用局部變量的存儲過程 136

13.5 創建帶有流程控制語句的存儲過程 137

13.5.1 使用IFTHEN ELSE語句 137

13.5.2 使用CASE語句. 138

13.6 在存儲過程調用其他存儲過程 139

13.7 修改存儲過程 140

13.8 查看存儲過程的定義 141

13.9 刪除存儲過程 141

【項目實踐】 141

【習題】 142

任務14

建立和使用存儲函數 143

【任務背景】 143

【任務要求】143

【任務分解】143

14.1 認識存儲函數143

14.2 創建存儲函數143

14.2.1 創建基本的存儲函數144

14.2.2 創建帶變量的存儲函數144

14.3 調用存儲函數145

14.3.1 使用SELECT關鍵字調用存儲函數.. 145

14.3.2 調用另外一個存儲函數或者存儲過程 145

14.4 查看存儲函數146

14.5 修改存儲函數146

14.6 刪除存儲函數146

【項目實踐】147

【習題】.147

任務15

創建和使用觸發器148

【任務背景】148

【任務要求】148

【任務分解】148

15.1 認識觸發器148

15.2 創建觸發器149

15.2.1 激發它表數據更新149

15.2.2 激發自表數據更新151

15.2.3 觸發器調用存儲過程151

15.3 查看觸發器152

15.4 刪除觸發器 152

【項目實踐】152

【習題】153

任務16

創建和使用事件154

【任務背景】154

【任務要求】154

【任務分解】154

16.1 認識事件154

16.2 創建事件..155

16.2.1 創建某個時刻發生的事件155

16.2.2 創建在指定區間周期性發生的事件.156

16.2.3 在事件中調用存儲過程或存儲函數. 157

16.3 查看事件..157

16.4 修改事件..157

16.5 刪除事件158

【項目實踐】158

【習題】158

項目七 數據庫安全與性能優化

任務17

用戶與權限 159

【任務背景】159

【任務要求】159

【任務分解】159

17.1 創建用戶賬戶160

17.1.1 用CREATE USER創建用戶 160

17.1.2 修改用戶密碼.161

17.1.3 重命名用戶名.161

17.2 授予用戶權限162

17.2.1 關於MySQL 的權限.162

17.2.2 用GRANT 授權..163

17.3 用REVOKE收回權限164

17.4 權限轉移165

17.5 權限限制165

17.6 密碼管理策略166

17.6.1 過期時間管理166

17.6.2 MySQL 用戶密碼重用策略設置.. 166

17.7 角色管理166

17.7.1 創建角色並授予用戶角色權限.. 167

17.7.2 檢查角色權限167

17.7.3 撤銷角色或角色權限167

17.7.4 刪除角色. 168

17.7.5 角色和用戶在實際中的應用 168

【項目實踐】168

【習題】.169

任務18

數據庫備份與恢復170

【任務背景】170

【任務要求】170

【任務分解】170

18.1用SELECT INTO OUTFILE備份表數據170

18.2 用LOAD DATA INFILE恢復表數據171

18.3 用mysqldump備份與恢復171

18.3.1 進入my sqldump.171

18.3.2 備份與加夏表. 172

18.3.3 備份與恢復庫. 172

18.3.4 將表結構和數據分別備份..173

18.3.5 備份與恢復其他方面.. 174

18.4 用mysqlimport恢復表數據174

18.5 用SOURCE恢復表和數據庫174

18.6 用日誌備份175

【項目實踐】176

【習題】.176

任務19

數據庫性能優化 177

【任務背景】177

【任務要求】177

【任務分解】177

19.1 優化MySQL服務器177

19.1.1 通過修改my.ini 文件進行性能優化177

19.1.2 通過MySQL 控制臺柱行性能優化178

19.2 優化表結構設計和數據操作179

19.2.1 添加中間表.179

19.2.2 增加冗餘字段.180

19.2.3 合理設置表的數據類型和屬性180

19.2.4 優化插入記錄的速度..181

19.2.5 對表進行分析、檢查、優化和修復 181

19.3 優化查詢183

19.3.1 查看SELECT 語句的執行數據183

19.3.2 使用索引優化查詢.. 185

19.3.3 優化子查詢.188

19.3.4 優化漫查詢. 188

19.4 優化性能的其他方面189

19.5 數據庫的架構優化190

19.6 配置文件優化190

19.7 存儲與數據格式優化191

【項目實踐】192

【習題】.192

任務20

事務與鎖 193

【任務背景】193

【任務要求】193

【任務分解】193

20.1 MySQL事務的四大特性(ACID) 193

20.2 MySQL事務隔離級別與一致性194

20.2.1 事務的隔離級別194

20.2.2 數據一致性.197

20.2.3 事務提交與回滾SQL語句.197

20.3 MySQL中的鎖機制198

20.3.1 3 種鎖方式與4 種鎖模式198

20.3.2 死鎖的產生方式..199

【習題】.200

應用篇

項目八 PHP基礎及訪問MySQL數據庫

任務21

PHP初識與應用 202

【任務背景】202

【任務要求】202

【任務分解】202

21.1 PHP技術基礎202

21.1.1 PHP 標記風格..202

21.1.2 HTML中嵌入PHP203

21.1.3 PHP 中輸出HTML203

21.1.4 PHP中調用JavaScript 204

21.2 PHP的數據類型2 04

21.2.1 整型. 204

21.2.2 浮點型. 204

21.2.3 布爾型. 204

21.2.4 字符串.. 205

21.3 PHP數據處理205

21.3.1 PHP對數據組的處理.. 205

21.3.2 PHP對字符串的處理208

21.3.3 用PHP處理日期和時間209

21.3.4 PHP中對URL、HTTP的處理 209

21.3.5 PHP中的數學運算.210

21.4 PHP 連接MySQL數據庫212

21.4.1 PHP程序連接到MySQL數據庫的原理.212

21.4.2 PHP連接到MySQL函數212

21.5 PHP操作MySQL數據庫212

21.5.1 一次執行一條SQL語句.212

21.5.2 一次執行多條語句213

21.5.3 處理查詢結果.213

21.5.4 關閉創建的對象214

21.6 PHP備份與還原MySQL數據庫214

21.6.1 MySQL 數據庫與表的備份214

21.6.2 MySQL 數據庫與表的還原.214

21.7 應用實踐:基於文本的簡易留言板215

【習題】.217

項目九 訪問MySQL數據庫

任務22

Java訪問MySQL數據庫218

【任務背景】 218

【任務要求】 218

【任務分解】 218

22.1 Java 連接MySQL數據庫.. 218

22.1.1 下載並安裝JDBC驅動MySQL Connector/J 218

22.1.2 java.sql 的接口和作用219

22.1.3 連接MySQL 購居庫219

22.2 Java操作MySQL數據庫.. 219

22.2.1 創建Statement 對象219

22.2.2 插入、更新或者刪除數據220

22.2.3 使用SELECT 語句查詢數據220

22.3 Java備份MySQL數據庫 220

22.4 Java還原MySQL數據庫 221

【項目實踐】 221

【習題】.. 221

任務23

C#訪問MySQL數據222

【任務背景】 222

【任務要求】 222

【任務分解】 222

23.1 C#連接MySQL 數據庫 222

23.1.1 下載並安裝Connector/Net驅動程序..222

23.1.2 使用Connector/Net驅動程序. 223

23.1.3 連接MySQL數據庫224

23.2 C#操作MySQL 數據庫224

23.2.1 創建MySqlCommand對象.. 224

23.2.2 關閉創建的對象.. 224

23.3 C#備份與還原MySQL數據庫225

23.3.1 C#備份MySQL數據庫 225

23.3.2 C#MySQL數據庫 225

【項目實踐】225

【習題】.225

任務24

Python訪問MySQL數據庫 226

【任務背景】226

【任務要求】226

【任務分解】226

24.1 Python 技術基礎226

24.1.1 什麽是MySQLdb.. 226

24.1.2 安裝Python 226

24.1.3 安裝MySQLdb.. 227

24.2 Python 數據類型228

24.3 Python 連接數據庫228

24.4 Python 操作數據庫229

24.4.1 獲取操作游標.. 229

24.4.2 操作庫 229

24.4.3 操作數據表. 229

24.4.4 數據查詢 229

24.5 Python 提交與回滾230

【項目實踐】231

【習題】.231

項目十 phpMyAdmin操作數據庫

任務25

phpMyAdmin操作數據庫232

【任務背景】232

【任務要求】232

【任務分解】232

25.1 創建與管理數據庫232

25.2 創建與管理表 233

25.2.1 創建表233

25.2.2 管理表.234

25.3 字符集設置235

25.4 表數據操作236

25.4.1 插入數據..236

25.4.2 導入數據. 236

25.4.3 操作數據..237

25.5 索引與參照完整性約束237

25.5.1 創建主鍵、唯一性約束和索引237

25.5.2 參照完整性約束.. 237

25.6 使用查詢238

25.7 創建視圖239

25.8 創建和使用程序239

25.8.1 創建存儲過程239

25.8.2 創建存儲函數240

25.8.3 使用程序..241

25.9 創建和使用觸發器241

25.9.1 創建觸發器241

25.9.2 使用觸發器..242

25.10 創建事件和使用事件243

25.10.1 創建一次執行的事件.. 243

25.10.2 創建周期性執行的事件243

25.10.3 編輯、導出或刪除事件244

25.11 用戶與權限管理244

25.11.1 編輯當前用戶的權限..244

25.11.2 添加新用戶和設置權限246

25.12 備份與恢復數據庫247

25.12.1 數據庫備份247

25.12.2 數據庫恢復.248

【項目實踐】248

【習題】.248

項目十一 MySQL集群架構搭建實例

任務26

Linux操作系統中搭建MySQL集群249

【任務背景】249

【任務要求】249

【任務分解】249

26.1 認識MySQL 主從249

26.1.1 MySQL支持的復制的類型..250

26.1.2 MySQL復制技術的特點.. 250

26.1.3 MySQL主從復制過程250

26.2 MySQL 主從詳細配置251

26.2.1 Master 服務器配置251

26.2.2 Slave 服務器配置.. 252

26.2.3 配置驗證.. 253

【項目實踐】253

【習題】.253

附錄

全國電腦等級考試二級MySQL數據庫程序設計考試大綱(2018年版)255