MySQL 從入門到精通, 3/e

明日科技

  • 出版商: 清華大學
  • 出版日期: 2023-06-01
  • 售價: $539
  • 貴賓價: 9.5$512
  • 語言: 簡體中文
  • 頁數: 371
  • 裝訂: 平裝
  • ISBN: 7302634890
  • ISBN-13: 9787302634898
  • 相關分類: MySQLSQL
  • 立即出貨

  • MySQL 從入門到精通, 3/e-preview-1
  • MySQL 從入門到精通, 3/e-preview-2
  • MySQL 從入門到精通, 3/e-preview-3
MySQL 從入門到精通, 3/e-preview-1

買這商品的人也買了...

商品描述

《MySQL?從入門到精通(第?3?版)》從初學者角度出發,通過通俗易懂的語言和豐富多彩的實例,詳細介紹了MySQL開發需要掌握的各方面技術。全書共分為4篇22章,包括數據庫基礎,初識MySQL,使用MySQL圖形化管理工具,數據庫操作,存儲引擎及數據類型,數據表操作,MySQL基礎,表數據的增、刪、改操作,數據查詢,常用函數,索引,視圖,數據完整性約束,存儲過程與存儲函數,觸發器,事務,事件,備份與恢復,MySQL性能優化,權限管理及安全控制,Python+MySQL實現智慧校園考試系統和Java+MySQL實現物流配貨系統等內容。書中所有知識都結合具體實例進行介紹,涉及的程序代碼也給出了詳細的註釋,可以使讀者輕松領會MySQL的精髓,快速提高開發技能。

目錄大綱

目  錄

 

第1篇 基 礎 知 識

 

第1章  數據庫基礎 2

 視頻講解:23分鐘

1.1  數據庫系統概述 2

1.1.1  數據庫技術的發展 2

1.1.2  數據庫系統的組成 3

1.2  數據模型 3

1.2.1  數據模型的概念 3

1.2.2  常見的數據模型 4

1.2.3  關系數據庫的規範化 5

1.2.4  關系數據庫的設計原則 7

1.2.5  實體與關系 7

1.3  數據庫的體系結構 8

1.3.1  數據庫三級模式結構 8

1.3.2  三級模式之間的映射 8

1.4  小結 9

1.5  實踐與練習 9

第2章  初識MySQL 10

 視頻講解:22分鐘

2.1  瞭解MySQL 10

2.1.1  MySQL數據庫的概念 11

2.1.2  MySQL的優勢 11

2.1.3  MySQL的發展史 11

2.2  MySQL 8.0的新特性 11

2.3  MySQL的應用環境 13

2.4  MySQL服務器的安裝和配置 13

2.4.1  MySQL服務器安裝包的下載 13

2.4.2  MySQL服務器的安裝 16

 

2.4.3  啟動、連接、斷開和停止MySQL

服務器 27

2.4.4  打開MySQL 8.0 Command Line Client 31

2.5  如何學好MySQL 32

2.6  小結 32

2.7  實踐與練習 32

第3章  使用MySQL圖形化管理工具 33

 視頻講解:23分鐘

3.1  安裝phpMyAdmin圖形化管理工具 33

3.1.1  phpMyAdmin圖形化管理工具簡介 33

3.1.2  下載phpstudy集成開發環境 34

3.1.3  下載phpMyAdmin 34

3.1.4  打開phpMyAdmin 34

3.2  數據庫操作管理 35

3.2.1  創建數據庫 35

3.2.2  修改和刪除數據庫 36

3.3  管理數據表 37

3.3.1  創建數據表 37

3.3.2  修改數據表 38

3.3.3  刪除數據表 38

3.4  管理數據記錄 39

3.4.1  使用SQL語句插入數據 39

3.4.2  使用SQL語句修改數據 40

3.4.3  使用SQL語句查詢數據 40

3.4.4  使用SQL語句刪除數據 41

3.4.5  通過form表單插入數據 42

3.4.6  瀏覽數據 43

3.4.7  搜索數據 43

3.5  導入/導出數據 44

3.5.1  導出MySQL數據庫腳本 44

3.5.2  導入MySQL數據庫腳本 45

3.6  設置編碼格式 46

3.7  添加服務器新用戶 48

3.8  重置MySQL服務器登錄密碼 49

3.9  小結 51

3.10  實踐與練習 51

第4章  數據庫操作 52

 視頻講解:28分鐘

4.1  認識數據庫 52

4.1.1  數據庫基本概念 52

4.1.2  數據庫常用對象 54

4.1.3  系統數據庫 54

4.2  創建數據庫 55

4.2.1  使用CREATE DATABASE語句

創建數據庫 56

4.2.2  使用CREATE SCHEMA語句

創建數據庫 56

4.2.3  創建指定字符集的數據庫 57

4.2.4  創建數據庫前判斷是否存在同名數據庫 58

4.3  查看數據庫(SHOW命令) 58

4.4  選擇數據庫(USE命令) 59

4.5  修改數據庫(ALTER命令) 60

4.6  刪除數據庫(DROP命令) 61

4.7  小結 63

4.8  實踐與練習 63

第5章  存儲引擎及數據類型 64

 視頻講解:18分鐘

5.1  MySQL存儲引擎 64

5.1.1  MySQL存儲引擎的概念 65

 

5.1.2  查詢MySQL中支持的存儲引擎 65

5.1.3  InnoDB存儲引擎 67

5.1.4  MyISAM存儲引擎 68

5.1.5  MEMORY存儲引擎 68

5.1.6  選擇存儲引擎 70

5.1.7  設置數據表的存儲引擎 70

5.2  MySQL數據類型 71

5.2.1  數字類型 71

5.2.2  字符串類型 72

5.2.3  日期和時間類型 74

5.3  小結 74

5.4  實踐與練習 74

第6章  數據表操作 75

 視頻講解:38分鐘

6.1  創建數據表

(CREATE TABLE語句) 75

6.2  查看表結構 77

6.2.1  使用SHOW COLUMNS語句查看 77

6.2.2  使用DESCRIBE語句查看 78

6.3  修改表結構

(ALTER TABLE語句) 78

6.3.1  添加新字段和修改字段定義 79

6.3.2  修改字段名/類型 80

6.3.3  刪除字段 81

6.3.4  修改表名 81

6.4  重命名錶

(RENAME TABLE語句) 82

6.5  復製表

(CREATE TABLE…LIKE語句) 83

6.6  刪除表(DROP TABLE語句) 85

6.7  小結 86

6.8  實踐與練習 86

 

第2篇 核 心 技 術

 

第7章  MySQL基礎 88

 視頻講解:37分鐘

7.1  運算符 88

7.1.1  算術運算符 88

7.1.2  比較運算符 89

7.1.3  邏輯運算符 93

7.1.4  位運算符 95

7.1.5  運算符的優先級 95

7.2  流程控制語句 96

7.2.1  IF語句 96

7.2.2  CASE語句 97

7.2.3  WHILE循環語句 98

7.2.4  LOOP循環語句 99

7.2.5  REPEAT循環語句 100

7.3  小結 101

7.4  實踐與練習 101

第8章  表數據的增、刪、改操作 102

視頻講解:31分鐘

8.1  增添數據 102

8.1.1  使用INSERT…VALUES語句插入

數據 102

8.1.2  使用INSERT…SET語句插入數據 106

8.1.3  使用INSERT...SELECT語句插入

查詢結果 107

8.2  修改數據 109

8.3  刪除數據 110

8.3.1  使用DELETE語句刪除數據 110

8.3.2  使用TRUNCATE TABLE語句

刪除數據 111

8.4  小結 112

8.5  實踐與練習 112

第9章  數據查詢 113

 視頻講解:75分鐘

9.1  基本查詢語句 113

9.2  單表查詢 115

9.2.1  查詢所有字段 115

9.2.2  查詢指定字段 116

9.2.3  查詢指定數據 116

9.2.4  帶關鍵字IN的查詢 117

9.2.5  帶關鍵字BETWEEN AND的範圍查詢 117

9.2.6  帶LIKE的字符匹配查詢 118

9.2.7  用IS NULL關鍵字查詢空值 119

9.2.8  帶AND的多條件查詢 119

9.2.9  帶OR的多條件查詢 120

9.2.10  用DISTINCT關鍵字去除結果中的

重復行 120

9.2.11  用ORDER BY關鍵字對查詢結果

進行排序 121

9.2.12  用GROUP BY關鍵字分組查詢 121

9.2.13  用LIMIT限制查詢結果的數量 123

9.3  聚合函數查詢 124

9.3.1  COUNT()統計函數 124

9.3.2  SUM()求和函數 124

9.3.3  AVG()平均數函數 125

9.3.4  MAX()最大值函數 125

9.3.5  MIN()最小值函數 125

9.4  連接查詢 126

9.4.1  內連接查詢 126

9.4.2  外連接查詢 127

9.4.3  復合條件連接查詢 129

9.5  子查詢 129

9.5.1  帶IN關鍵字的子查詢 130

9.5.2  帶比較運算符的子查詢 131

9.5.3  帶EXISTS關鍵字的子查詢 131

9.5.4  帶ANY關鍵字的子查詢 132

9.5.5  帶ALL關鍵字的子查詢 132

9.6  合並查詢結果 133

9.7  定義表和字段的別名 134

9.7.1  為表取別名 134

9.7.2  為字段取別名 135

9.8  使用正則表達式查詢 135

9.8.1  匹配指定字符中的任意一個 136

9.8.2  使用“*”和“+”來匹配多個字符 137

9.8.3  匹配以指定的字符開頭和結束的記錄 137

9.9  小結 138

9.10  實踐與練習 138

第10章  常用函數 139

 視頻講解:34分鐘

10.1  MySQL函數 139

10.2  數學函數 140

10.2.1  ABS(x)絕對值函數 141

10.2.2  FLOOR(x)向下取整函數 142

10.2.3  RAND()隨機數函數 142

10.2.4  PI()圓周率函數 143

10.2.5  TRUNCATE(x,y)截斷函數 143

10.2.6  ROUND(x)近似值函數和

ROUND(x,y)四捨五入函數 143

10.2.7  SQRT(x)平方函數 144

10.3  字符串函數 144

10.3.1  INSERT(s1,x,len,s2)替換函數 146

10.3.2  UPPER(s)函數和UCASE(s)字母

大寫函數 146

10.3.3  LEFT(s,n)取左函數 147

10.3.4  RTRIM(s)去空格函數 147

10.3.5  SUBSTRING(s,n,len)截取函數 147

10.3.6  REVERSE(s)反轉函數 148

10.3.7  FIELD(s,s1,s2,…,sn)位置函數 148

10.3.8  LOCATE(s1,s)、POSITION(s1 IN s)和INSTR(s,s1)3個位置函數 149

10.4  日期和時間函數 149

10.4.1  CURDATE()和CURRENT_DATE()

當前日期函數 151

10.4.2  CURTIME()和CURRENT_TIME()

當前時間函數 151

10.4.3  NOW()當前日期和時間函數 152

10.4.4  DATEDIFF(d1,d2)間隔天數函數 152

10.4.5  ADDDATE(d,n)日期計算函數 153

10.4.6  ADDDATE(d,INTERVAL expr type)

日期時間計算函數 153

10.4.7  SUBDATE(d,n)日期計算函數 153

10.5  條件判斷函數 154

10.6  系統信息函數 155

 

10.6.1  獲取MySQL版本號、連接數和

數據庫名的函數 155

10.6.2  獲取用戶名的函數 155

10.6.3  獲取字符串的字符集和排序方式的

函數 156

10.7  其他函數 156

10.7.1  格式化函數FORMAT(x,n) 157

10.7.2  改變字符集的函數 158

10.7.3  改變字段數據類型的函數 158

10.8  小結 158

10.9  實踐與練習 159

第11章  索引 160

 視頻講解:21分鐘

11.1  索引概述 160

11.1.1  MySQL索引概述 161

11.1.2  MySQL索引分類 161

11.2  創建索引 162

11.2.1  在建立數據表時創建索引 162

11.2.2  在已建立的數據表中創建索引 167

11.2.3  修改數據表結構以為數據表添加索引 171

11.3  刪除索引 173

11.4  小結 174

11.5  實踐與練習 174

第12章  視圖 175

 視頻講解:26分鐘

12.1  視圖概述 175

12.1.1  視圖的概念 176

12.1.2  視圖的作用 176

12.2  創建視圖 177

12.2.1  查看創建視圖的權限 177

12.2.2  創建視圖 178

12.2.3  創建視圖的註意事項 179

12.3  視圖操作 180

12.3.1  查看視圖 180

12.3.2  修改視圖 182

 

12.3.3  更新視圖 184

12.3.4  刪除視圖 186

12.4  小結 186

12.5  實踐與練習 187

 

第3篇 高 級 應 用

 

第13章  數據完整性約束 190

 視頻講解:29分鐘

13.1  定義完整性約束 190

13.1.1  實體完整性 191

13.1.2  參照完整性 193

13.1.3  用戶定義完整性 195

13.2  命名完整性約束 198

13.3  更新完整性約束 200

13.3.1  刪除完整性約束 200

13.3.2  修改完整性約束 201

13.4  小結 202

13.5  實踐與練習 202

第14章  存儲過程與存儲函數 203

 視頻講解:42分鐘

14.1  創建存儲過程和存儲函數 203

14.1.1  創建存儲過程 203

14.1.2  創建存儲函數 205

14.1.3  變量的應用 207

14.1.4  光標的應用 209

14.2  調用存儲過程和存儲函數 210

14.2.1  調用存儲過程 211

14.2.2  調用存儲函數 211

14.3  查看存儲過程和存儲函數 212

14.3.1  SHOW STATUS語句 212

14.3.2  SHOW CREATE語句 212

14.4  修改存儲過程和存儲函數 213

14.5  刪除存儲過程和存儲函數 214

14.6  小結 215

14.7  實踐與練習 215

 

 

第15章  觸發器 216

  視頻講解:25分鐘

15.1  MySQL觸發器 216

15.1.1  創建MySQL觸發器 216

15.1.2  創建具有多條執行語句的觸發器 217

15.2  查看觸發器 219

15.2.1  SHOW TRIGGERS語句 219

15.2.2  查看triggers表中觸發器信息 220

15.3  使用觸發器 221

15.3.1  觸發器的執行順序 221

15.3.2  使用觸發器維護冗餘數據 222

15.4  刪除觸發器 223

15.5  小結 224

15.6  實踐與練習 224

第16章  事務 225

 視頻講解:46分鐘

16.1  事務機制 225

16.1.1  事務的概念 225

16.1.2  事務機制的必要性 226

16.1.3  關閉MySQL自動提交 228

16.1.4  事務回滾 229

16.1.5  事務提交 231

16.1.6  MySQL中的事務 231

16.1.7  回退點 233

16.2  鎖機制 235

16.2.1  MySQL鎖機制的基本知識 235

16.2.2  MyISAM表的表級鎖 236

16.2.3  InnoDB表的行級鎖 240

16.2.4  死鎖的概念與避免 241

 

 

16.3  事務的隔離級別 242

16.3.1  事務的隔離級別與並發問題 242

16.3.2  設置事務的隔離級別 243

16.4  小結 243

16.5  實踐與練習 243

第17章  事件 244

 視頻講解:18分鐘

17.1  事件概述 244

17.1.1  查看事件是否開啟 245

17.1.2  開啟事件 245

17.2  創建事件 246

17.3  修改事件 249

17.4  刪除事件 250

17.5  小結 251

17.6  實踐與練習 251

第18章  備份與恢復 252

 視頻講解:44分鐘

18.1  數據備份 252

18.1.1  使用mysqldump命令備份 253

18.1.2  直接復制整個數據庫目錄 255

18.2  數據恢復 256

18.2.1  使用mysql命令還原 256

18.2.2  直接復制到數據庫目錄中 256

18.3  數據庫遷移 257

18.3.1  相同版本的MySQL數據庫之間的

遷移 257

18.3.2  不同數據庫之間的遷移 257

18.4  表的導出和導入 258

18.4.1  用SELECT...INTO OUTFILE語句

導出文本文件 258

18.4.2  用mysqldump命令導出文本文件 262

18.4.3  用mysql命令導出文本文件 264

18.4.4  用LOAD DATA INFILE命令將

文本文件導入數據表中 265

18.4.5  用mysqlimport命令導入文本文件 267

18.5  小結 268

18.6  實踐與練習 268

第19章  MySQL性能優化 269

 視頻講解:30分鐘

19.1  優化概述 269

19.1.1  分析MySQL數據庫的性能 270

19.1.2  通過profile工具分析語句消耗性能 271

19.2  優化查詢 272

19.2.1  分析查詢語句 272

19.2.2  索引對查詢速度的影響 273

19.2.3  使用索引查詢 274

19.3  優化數據庫結構 276

19.3.1  將設置了很多字段的表分解成多個表 276

19.3.2  增加中間表 277

19.3.3  優化插入記錄的速度 277

19.3.4  分析表、檢查表和優化表 279

19.4  優化多表查詢 280

19.5  優化表設計 281

19.6  小結 282

19.7  實踐與練習 282

第20章  權限管理及安全控制 283

 視頻講解:29分鐘

20.1  安全保護策略概述 283

20.2  用戶和權限管理 284

20.2.1  使用CREATE USER命令創建用戶 285

20.2.2  使用DROP USER命令刪除用戶 285

20.2.3  使用RENAME USER命令重命名

用戶 286

20.2.4  使用GRANT和REVOKE命令

管理訪問權限 286

20.3  MySQL數據庫安全常見問題 291

20.3.1  權限更改何時生效 291

20.3.2  設置賬戶密碼 291

20.3.3  使密碼更安全 292

20.4  日誌文件 292

20.4.1  錯誤日誌 292

20.4.2  慢查詢日誌 293

20.4.3  查詢日誌 294

20.4.4  二進制日誌 294

20.5  小結 296

20.6  實踐與練習 296

 

第4篇 項 目 實 戰

 

第21章  Python+MySQL實現智慧校園

考試系統 298

 視頻講解:112分鐘

21.1  需求分析 298

21.2  系統功能設計 299

21.2.1  系統功能結構 299

21.2.2  系統業務流程 299

21.2.3  系統預覽 300

21.3  系統開發必備 301

21.3.1  系統開發環境 301

21.3.2  文件夾組織結構 301

21.4  數據庫設計 303

21.4.1  數據庫概要 303

21.4.2  數據表模型 304

21.5  用戶登錄模塊設計 306

21.5.1  用戶登錄模塊概述 306

21.5.2  使用Django默認授權機制實現

普通登錄 306

21.5.3  機構註冊功能的實現 313

21.6  核心答題功能的設計 318

21.6.1  答題首頁設計 318

21.6.2  考試詳情頁面 321

21.6.3  答題功能的實現 324

21.6.4  提交答案 327

21.6.5  批量錄入題庫 330

21.7  小結 335

第22章  Java+MySQL實現物流

配貨系統 336

 視頻講解:121分鐘

22.1  需求分析 336

22.2  系統設計 337

22.2.1  系統目標 337

22.2.2  構建開發環境 337

22.2.3  系統功能結構 338

22.2.4  業務流程 338

22.2.5  系統預覽 339

22.3  數據庫設計 341

22.3.1  數據庫概要 341

22.3.2  數據表結構 341

22.4  技術準備 343

22.4.1  JSP基礎 343

22.4.2  JSP的內置對象 345

22.4.3  Struts 2框架 346

22.4.4  Struts 2框架的Action對象 349

22.5  公共模塊設計 350

22.5.1  編寫數據庫持久化類 350

22.5.2  編寫獲取系統時間操作類 351

22.5.3  編寫分頁Bean 351

22.5.4  請求頁面中的元素類的編寫 354

22.5.5  編寫重新定義的simple模板 354

22.6  管理員功能模塊的設計 356

22.6.1  模塊概述 356

22.6.2  代碼實現 357

22.7  車源信息管理模塊的設計 361

22.7.1  模塊概述 361

22.7.2  代碼實現 362

22.8  發貨單管理模塊的設計 366

22.8.1  模塊概述 366

22.8.2  代碼實現 367

22.9  小結 371