MySQL 8.x 從入門到精通 (視頻教學版)

李小威

  • 出版商: 清華大學
  • 出版日期: 2022-08-01
  • 售價: $774
  • 貴賓價: 9.5$735
  • 語言: 簡體中文
  • ISBN: 7302612854
  • ISBN-13: 9787302612858
  • 相關分類: MySQLSQL
  • 立即出貨 (庫存 < 3)

  • MySQL 8.x 從入門到精通 (視頻教學版)-preview-1
  • MySQL 8.x 從入門到精通 (視頻教學版)-preview-2
  • MySQL 8.x 從入門到精通 (視頻教學版)-preview-3
MySQL 8.x 從入門到精通 (視頻教學版)-preview-1

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

相關主題

商品描述

MySQL是比較受歡迎的開源關系型數據庫之一。本書通過大量實用的操作案例,詳細講解MySQL 8.x數據庫操作方法和技巧。本書配套資源提供了所有例子的源代碼、PPT課件、培訓班形式的同步教學視頻、命令速查手冊、QQ群與微信群答疑,以方便讀者參考和自學。 本書共分25章。主要內容包括MySQL 8.x的安裝與配置、數據庫和數據表基本操作、數據類型和運算符、MySQL函數、數據的增刪改查、索引的設計和使用、存儲過程和函數、視圖、觸發器、存儲引擎的選擇、分區和事務控制、性能優化、鎖定機制、服務器性能優化、性能監控、數據備份與還原、日誌、權限與安全管理、高可用架構、復制、MySQL Utilities、MySQL Proxy。最後通過兩個案例系統的數據庫設計,進一步講解MySQL在系統開發中的應用。本書註重實戰操作,幫助讀者循序漸進地掌握MySQL的各項管理與開發技術。 本書適合MySQL數據庫初學者、MySQL數據庫開發人員和MySQL數據庫管理員,同時也能作為高等院校相關專業師生的教學用書。

目錄大綱

目    錄

 

第1章  MySQL的安裝與配置 1

1.1  什麽是MySQL 1

1.1.1  客戶端/服務器軟件 1

1.1.2  MySQL版本 2

1.2  Windows平臺下安裝與配置MySQL 8.0 2

1.2.1  安裝MySQL 8.0 2

1.2.2  配置MySQL 8.0 5

1.3  啟動服務並登錄MySQL數據庫 9

1.3.1  啟動MySQL服務 9

1.3.2  登錄MySQL數據庫 10

1.3.3  配置Path變量 11

1.4  MySQL常用圖形管理工具 13

1.5  Linux平臺下安裝與配置MySQL 8.0 14

1.5.1  Linux操作系統下的MySQL版本介紹 14

1.5.2  安裝和配置MySQL的RPM包 15

1.5.3  安裝和配置MySQL的源碼包 18

第2章  數據庫和數據表的基本操作 19

2.1  創建數據庫 19

2.2  刪除數據庫 20

2.3  創建數據表 21

2.3.1  創建表的語法形式 21

2.3.2  使用主鍵約束 22

2.3.3  使用外鍵約束 23

2.3.4  使用非空約束 24

2.3.5  使用唯一性約束 25

2.3.6  使用默認約束 25

2.3.7  設置表的屬性值自動增加 26

2.4  查看數據表結構 27

2.4.1  查看表基本結構語句DESCRIBE 27

2.4.2  查看表詳細結構語句SHOW CREATE TABLE 28

2.5  修改數據表 28

2.5.1  修改表名 29

2.5.2  修改字段的數據類型 29

2.5.3  修改字段名 30

2.5.4  添加字段 31

2.5.5  刪除字段 33

2.5.6  修改字段的排列位置 34

2.5.7  刪除表的外鍵約束 35

2.6  刪除數據表 36

2.6.1  刪除沒有被關聯的表 36

2.6.2  刪除被其他表關聯的主表 37

第3章  數據類型和運算符 39

3.1  MySQL數據類型介紹 39

3.1.1  整數類型 39

3.1.2  小數類型 41

3.1.3  日期與時間類型 42

3.1.4  文本字符串類型 52

3.1.5  二進制字符串類型 56

3.2  如何選擇數據類型 59

3.3  常見運算符介紹 60

3.3.1  運算符概述 60

3.3.2  算術運算符 61

3.3.3  比較運算符 62

3.3.4  邏輯運算符 69

3.3.5  位運算符 71

3.3.6  運算符的優先級 74

第4章  MySQL函數 75

4.1  MySQL函數簡介 75

4.2  數學函數 75

4.2.1  絕對值函數ABS(x)和返回圓周率的函數PI() 75

4.2.2  平方根函數SQRT(x)和求餘函數MOD(x,y) 76

4.2.3  獲取整數的函數CEIL(x)、CEILING(x)和FLOOR(x) 76

4.2.4  獲取隨機數的函數RAND()和RAND(x) 77

4.2.5  函數ROUND(x)、ROUND(x,y)和TRUNCATE(x,y) 78

4.2.6  符號函數SIGN(x) 79

4.2.7  冪運算函數POW(x,y)、POWER(x,y)和EXP(x) 79

4.2.8  對數運算函數LOG(x)和LOG10(x) 79

4.2.9  角度與弧度相互轉換的函數RADIANS(x)和DEGREES(x) 80

4.2.10  正弦函數SIN(x)和反正弦函數ASIN(x) 80

4.2.11  餘弦函數COS(x)和反餘弦函數ACOS(x) 81

4.2.12  正切函數、反正切函數和餘切函數 81

4.3  字符串函數 82

4.3.1  計算字符串字符數的函數和字符串長度的函數 82

4.3.2  合並字符串函數CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…) 83

4.3.3  替換字符串的函數INSERT(s1,x,len,s2) 83

4.3.4  字母大小寫轉換函數 84

4.3.5  獲取指定長度的字符串的函數LEFT(s,n)和RIGHT(s,n) 85

4.3.6  填充字符串的函數LPAD(s1,len,s2)和RPAD(s1,len,s2) 85

4.3.7  刪除空格的函數LTRIM(s)、RTRIM(s)和TRIM(s) 86

4.3.8  刪除指定字符串的函數TRIM(s1 FROM s) 86

4.3.9  重復生成字符串的函數REPEAT(s,n) 87

4.3.10  空格函數SPACE(n)和替換函數REPLACE(s,s1,s2) 87

4.3.11  比較字符串大小的函數STRCMP(s1,s2) 88

4.3.12  獲取子串的函數SUBSTRING(s,n,len)和MID(s,n,len) 88

4.3.13  匹配子串開始位置的函數 89

4.3.14  字符串逆序的函數REVERSE(s) 89

4.3.15  返回指定位置的字符串的函數 89

4.3.16  返回指定字符串位置的函數FIELD(s,s1,s2,…,sn) 90

4.3.17  返回子串位置的函數FIND_IN_SET(s1,s2) 90

4.3.18  選取字符串的函數MAKE_SET(x,s1,s2,…,sn) 90

4.4  日期和時間函數 91

4.4.1  獲取當前日期的函數和獲取當前時間的函數 91

4.4.2  獲取當前日期和時間的函數 92

4.4.3  UNIX時間戳函數 92

4.4.4  返回UTC日期的函數和返回UTC時間的函數 92

4.4.5  獲取月份的函數MONTH(date)和MONTHNAME(date) 93

4.4.6  獲取星期的函數DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d) 93

4.4.7  獲取星期數的函數WEEK(d)和WEEKOFYEAR(d) 94

4.4.8  獲取天數的函數DAYOFYEAR(d)和DAYOFMONTH(d) 95

4.4.9  獲取年份、季度、小時、分鐘和秒鐘的函數 96

4.4.10  獲取日期的指定值的函數EXTRACT(type FROM date) 96

4.4.11  時間和秒鐘轉換的函數 97

4.4.12  計算日期和時間的函數 97

4.4.13  將日期和時間格式化的函數 100

4.5  條件判斷函數 102

4.5.1  IF(expr,v1,v2)函數 102

4.5.2  IFNULL(v1,v2)函數 103

4.5.3  CASE函數 103

4.6  系統信息函數 104

4.6.1  獲取MySQL版本號、連接數和數據庫名的函數 104

4.6.2  獲取用戶名的函數 106

4.6.3  獲取字符串的字符集和排序方式的函數 106

4.6.4  獲取最後一個自動生成的ID值的函數 107

4.7  加密函數 108

4.7.1  加密函數MD5(str) 108

4.7.2  加密函數SHA(str) 108

4.7.3  加密函數SHA2(str, hash_length) 109

4.8  其他函數 109

4.8.1  格式化函數FORMAT(x,n) 109

4.8.2  不同進制的數字進行轉換的函數 109

4.8.3  IP地址與數字相互轉換的函數 110

4.8.4  加鎖函數和解鎖函數 111

4.8.5  重復執行指定操作的函數 111

4.8.6  改變字符集的函數 112

4.8.7  改變數據類型的函數 112

4.9  窗口函數 113

第5章  查詢數據 115

5.1  基本查詢語句 115

5.2  單表查詢 117

5.2.1  查詢所有字段 117

5.2.2  查詢指定字段 118

5.2.3  查詢指定記錄 120

5.2.4  帶IN關鍵字的查詢 121

5.2.5  帶BETWEEN…AND…的範圍查詢 122

5.2.6  帶LIKE的字符匹配查詢 123

5.2.7  查詢空值 124

5.2.8  帶AND的多條件查詢 126

5.2.9  帶OR的多條件查詢 126

5.2.10  查詢結果不重復 127

5.2.11  對查詢結果排序 128

5.2.12  分組查詢 131

5.2.13  使用LIMIT限制查詢結果的數量 136

5.3  使用集合函數查詢 137

5.3.1  COUNT()函數 137

5.3.2  SUM()函數 138

5.3.3  AVG()函數 139

5.3.4  MAX()函數 140

5.3.5  MIN()函數 141

5.4  連接查詢 141

5.4.1  內連接查詢 142

5.4.2  外連接查詢 144

5.4.3  復合條件連接查詢 146

5.5  子查詢 147

5.5.1  帶ANY、SOME關鍵字的子查詢 147

5.5.2  帶ALL關鍵字的子查詢 147

5.5.3  帶EXISTS關鍵字的子查詢 148

5.5.4  帶IN關鍵字的子查詢 149

5.5.5  帶比較運算符的子查詢 151

5.6  合並查詢結果 152

5.7  為表和字段取別名 154

5.7.1  為表取別名 154

5.7.2  為字段取別名 155

5.8  使用正則表達式查詢 157

5.8.1  查詢以特定字符或字符串開頭的記錄 157

5.8.2  查詢以特定字符或字符串結尾的記錄 158

5.8.3  用符號“.”來替代字符串中的任意一個字符 158

5.8.4  使用“*”和“+”來匹配多個字符 159

5.8.5  匹配指定字符串 159

5.8.6  匹配指定字符中的任意一個 160

5.8.7  匹配指定字符以外的字符 161

5.8.8  使用{n,}或者{n,m}來指定字符串連續出現的次數 162

5.9  通用表表達式 162

 

第6章  插入、更新與刪除數據 166

6.1  插入數據 166

6.1.1  為表的所有字段插入數據 166

6.1.2  為表的指定字段插入數據 168

6.1.3  同時插入多條記錄 169

6.1.4  將查詢結果插入到表中 170

6.2  更新數據 172

6.3  刪除數據 173

6.4  為表增加計算列 175

6.5  DDL的原子化 176

第7章  索引的設計和使用 178

7.1  索引簡介 178

7.1.1  索引的含義和特點 178

7.1.2  索引的分類 179

7.1.3  索引的設計原則 180

7.2  創建索引 180

7.2.1  創建表的時候創建索引 180

7.2.2  在已經存在的表上創建索引 185

7.3  刪除索引 191

7.4  統計直方圖 193

7.4.1  直方圖的優點 193

7.4.2  直方圖的基本操作 193

第8章  存儲過程和函數 195

8.1  創建存儲過程和函數 195

8.1.1  創建存儲過程 195

8.1.2  創建存儲函數 197

8.1.3  變量的使用 198

8.1.4  定義條件和處理程序 199

8.1.5  光標的使用 202

8.1.6  流程控制的使用 203

8.2  調用存儲過程和函數 207

8.2.1  調用存儲過程 207

8.2.2  調用存儲函數 208

8.3  查看存儲過程和函數 208

8.3.1  使用SHOW STATUS語句查看存儲過程和函數的狀態 208

8.3.2  使用SHOW CREATE語句查看存儲過程和函數的定義 209

8.3.3  從information_schema.Routines表中查看存儲過程和函數的信息 210

8.4  修改存儲過程和函數 211

8.5  刪除存儲過程和函數 212

8.6  全局變量的持久化 213

第9章  視圖 214

9.1  視圖概述 214

9.1.1  視圖的含義 214

9.1.2  視圖的作用 215

9.2  創建視圖 215

9.2.1  創建視圖的語法形式 216

9.2.2  在單表上創建視圖 216

9.2.3  在多表上創建視圖 217

9.3  查看視圖 218

9.3.1  使用DESCRIBE語句查看視圖基本信息 218

9.3.2  使用SHOW TABLE STATUS語句查看視圖基本信息 218

9.3.3  使用SHOW CREATE VIEW語句查看視圖詳細信息 219

9.3.4  在views表中查看視圖詳細信息 220

9.4  修改視圖 221

9.4.1  使用CREATE OR REPLACE VIEW語句修改視圖 221

9.4.2  使用ALTER語句修改視圖 222

9.5  更新視圖 222

9.6  刪除視圖 225

第10章  MySQL觸發器 226

10.1  創建觸發器 226

10.1.1  創建只有一個執行語句的觸發器 226

10.1.2  創建有多個執行語句的觸發器 227

10.2  查看觸發器 229

10.2.1  利用SHOW TRIGGERS語句查看觸發器信息 229

10.2.2  在triggers表中查看觸發器信息 231

10.3  觸發器的使用 232

10.4  刪除觸發器 233

第11章  存儲引擎的選擇 234

11.1  MySQL的架構 234

11.1.1  MySQL物理文件的組成 235

11.1.2  MySQL各邏輯塊簡介 237

11.1.3  MySQL各邏輯塊協調工作 239

11.2  MySQL存儲引擎簡介 240

11.3  更改數據表的存儲引擎 242

11.4  各種存儲引擎的特性 242

11.4.1  MyISAM 243

11.4.2  InnoDB存儲引擎 245

11.4.3  MEMORY 247

11.4.4  MERGE 248

11.5  選擇合適的存儲引擎 250

第12章  MySQL分區和事務控制 252

12.1  合並表 252

12.2  分區表 254

12.2.1  認識分區表 254

12.2.2  RANGE分區 254

12.2.3  LIST分區 256

12.2.4  HASH分區 257

12.2.5  線性HASH分區 257

12.2.6  KEY分區 258

12.2.7  復合分區 259

12.3  事務控制 261

12.4  MySQL分佈式事務 264

12.4.1  分佈式事務的原理 264

12.4.2  分佈式事務的語法 265

第13章  MySQL性能優化 267

13.1  優化簡介 267

13.2  優化查詢 268

13.2.1  分析查詢語句 268

13.2.2  索引對查詢速度的影響 271

13.2.3  使用索引查詢 272

13.2.4  優化子查詢 274

13.3  優化數據庫結構 274

13.3.1  將字段很多的表分解成多個表 274

13.3.2  增加中間表 276

13.3.3  增加冗餘字段 277

13.3.4  優化插入記錄的速度 277

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

13.4  臨時表性能優化 281

13.5  創建全局通用表空間 282

13.6  隱藏和顯示索引 283

第14章  MySQL的鎖定機制 285

14.1  認識MySQL的鎖定機制 285

14.2  MyISAM的鎖定機制 289

14.2.1  MyISAM表級鎖的鎖模式 289

14.2.2  獲取MyISAM表級鎖的爭用情況 291

14.2.3  MyISAM表級鎖加鎖方法 292

14.2.4  MyISAM Concurrent Insert的特性 294

14.2.5  MyISAM表鎖優化建議 295

14.3  InnoDB的鎖定機制 296

14.3.1  InnoDB行級鎖模式 296

14.3.2  獲取InnoDB行級鎖的爭用情況 300

14.3.3  InnoDB行級鎖的實現方法 304

14.3.4  間隙鎖(Net-Key鎖) 307

14.3.5  InnoDB在不同隔離級別下加鎖的差異 309

14.3.6  InnoDB 存儲引擎中的死鎖 309

14.3.7  InnoDB行級鎖優化建議 311

14.4  跳過鎖等待 311

第15章  MySQL服務器性能優化 313

15.1  優化MySQL服務器簡介 313

15.1.1  優化服務器硬件 313

15.1.2  優化MySQL的參數 314

15.2  影響MySQL性能的重要參數 315

15.2.1  查看性能參數的方法 315

15.2.2  key_buffer_size的設置 319

15.2.3  內存參數的設置 321

15.2.4  日誌和事務參數的設置 322

15.2.5  存儲和I/O相關參數的設置 324

15.2.6  其他重要參數的設置 325

15.3  MySQL日誌設置優化 326

15.4  MySQL I/O設置優化 328

15.5  MySQL並發設置優化 330

15.6  服務器語句超時處理 331

15.7  線程和臨時表的優化 331

15.7.1  線程的優化 331

15.7.2  臨時表的優化 332

15.8  增加資源組 333

第16章  MySQL性能監控 335

16.1  基本監控系統方法 335

16.1.1  ps命令 335

16.1.2  top命令 336

16.1.3  vmstat命令 338

16.1.4  mytop命令 339

16.1.5  sysstat工具 341

16.2  開源監控利器Nagios實戰 345

16.2.1  安裝Nagios之前的準備工作 346

16.2.2  安裝Nagios主程序 347

16.2.3  整合Nagios到Apache服務 348

16.2.4  安裝Nagios插件包 351

16.2.5  監控服務器的CPU、負載、磁盤I/O使用情況 352

16.2.6  配置Nagios監控MySQL服務器 356

16.3  MySQL監控利器Cacti實戰 359

16.3.1  Cacti工具的安裝 359

16.3.2  Cacti監控MySQL服務器 363

第17章  數據備份與恢復 368

17.1  數據備份 368

17.1.1  使用mysqldump命令備份 368

17.1.2  直接復制整個數據庫目錄 373

17.1.3  使用mysqlhotcopy工具快速備份 374

17.2  數據恢復 374

17.2.1  使用MySQL命令恢復 374

17.2.2  直接復制到數據庫目錄 375

17.2.3  mysqlhotcopy快速恢復 375

17.3  數據庫遷移 376

17.3.1  相同版本的MySQL數據庫之間的遷移 376

17.3.2  不同版本的MySQL數據庫之間的遷移 376

17.3.3  不同數據庫之間的遷移 377

17.4  表的導出和導入 377

17.4.1  使用SELECT…INTO OUTFILE導出文本文件 377

17.4.2  使用mysqldump命令導出文本文件 381

17.4.3  使用MySQL命令導出文本文件 383

17.4.4  使用LOAD DATA INFILE方式導入文本文件 386

17.4.5  使用mysqlimport命令導入文本文件 388

第18章  MySQL日誌 390

18.1  日誌簡介 390

18.2  二進制日誌 391

18.2.1  啟動和設置二進制日誌 391

18.2.2  查看二進制日誌 392

18.2.3  刪除二進制日誌 393

18.2.4  使用二進制日誌恢復數據庫 395

18.2.5  暫時停止二進制日誌功能 395

18.3  錯誤日誌 396

18.3.1  啟動和設置錯誤日誌 396

18.3.2  查看錯誤日誌 396

18.3.3  刪除錯誤日誌 397

18.4  通用查詢日誌 398

18.4.1  啟動通用查詢日誌 398

18.4.2  查看通用查詢日誌 398

18.4.3  刪除通用查詢日誌 399

18.5  慢查詢日誌 399

18.5.1  啟動和設置慢查詢日誌 399

18.5.2  查看慢查詢日誌 400

18.5.3  刪除慢查詢日誌 400

第19章  MySQL權限與安全管理 401

19.1  權限表 401

19.1.1  user表 401

19.1.2  db表 403

19.1.3  tables_priv表和columns_priv表 405

19.1.4  procs_priv表 405

19.2  賬戶管理 406

19.2.1  登錄和退出MySQL服務器 406

19.2.2  新建普通用戶 407

19.2.3  刪除普通用戶 409

19.2.4  root用戶修改普通用戶密碼 411

19.3  權限管理 412

19.3.1  MySQL的各種權限 412

19.3.2  授權 414

19.3.3  收回權限 415

19.3.4  查看權限 416

19.4  訪問控制 417

19.4.1  連接核實階段 417

19.4.2  請求核實階段 417

19.5  提升安全性 418

19.5.1  密碼到期更換策略 418

19.5.2  安全模式安裝 420

19.6  管理角色 420

第20章  MySQL高可用架構 422

20.1  MySQL高可用簡介 422

20.2  MySQL主從復制架構 423

20.2.1  MySQL主從架構設計 423

20.2.2  配置環境 423

20.2.3  服務器的安裝配置 424

20.2.4  LVS的安裝配置 426

20.3  MySQL+DRBD+HA主備架構 428

20.3.1  什麽是DRBD 428

20.3.2  MySQL+DRBD+HA架構設計 428

20.3.3  配置環境 429

20.3.4  安裝配置Heartbeat 429

20.3.5  安裝配置DRBD 431

20.4  LVS+Keepalived+MySQL單點寫入主主同步架構 433

20.4.1  配置環境 434

20.4.2  LVS+Keepalived的安裝 438

20.4.3  LVS+Keepalived的配置 439

20.4.4  Master和Backup的啟動 441

20.5  MMM高可用架構 442

20.5.1  MMM高可用架構簡介 442

20.5.2  配置環境 442

20.5.3  MMM的安裝 445

20.5.4  Monitor服務器的配置 446

20.5.5  各個數據庫服務器的配置 447

20.5.6  MMM的管理 447

第21章  MySQL復制 449

21.1  MySQL復制概述 449

21.2  Windows環境下的MySQL主從復制 450

21.2.1  復制前的準備工作 450

21.2.2  Windows環境下實現主從復制 450

21.2.3  Windows環境下主從復制測試 456

21.3  Linux環境下的MySQL復制 457

21.3.1  下載並安裝MySQL 8.0 458

21.3.2  單機主從復制前的準備工作 459

21.3.3  mysqld_multi實現單機主從復制 462

21.3.4  不同服務器之間實現主從復制 468

21.3.5  MySQL主從復制啟動選項 470

21.3.6  指定復制的數據庫或者表 471

21.4  查看從服務器的復制進度 477

21.5  復制環境的監控和維護 478

21.5.1  瞭解服務器的狀態 478

21.5.2  服務器復制出錯的原因 479

21.6  切換主從服務器 482

21.7  多源復制的改進 485

第22章  MySQL Utilities 488

22.1  MySQL Utilities概述 488

22.2  安裝與配置 488

22.2.1  下載與安裝MySQL Utilities 489

22.2.2  MySQL Utilities連接數據庫 490

22.3  管理與維護 491

22.3.1  使用mysqldbcompare比較數據 491

22.3.2  使用mysqldbcopy復制數據 492

22.3.3  使用mysqldbexport導出數據 492

22.3.4  使用mysqldbimport導入數據 493

22.3.5  使用mysqldiff比較對象的定義 493

 

第23章  MySQL Proxy 494

23.1  概述 494

23.2  安裝與配置 495

23.2.1  下載與安裝MySQL Proxy 495

23.2.2  配置MySQL Proxy參數 496

23.3  使用MySQL Proxy實現讀寫分離 498

第24章  新聞發布系統數據庫設計 499

24.1  系統概述 499

24.2  系統功能 500

24.3  數據庫設計和實現 500

24.3.1  設計表 501

24.3.2  設計索引 505

24.3.3  設計視圖 506

24.3.4  設計觸發器 506

第25章  論壇管理系統數據庫設計 508

25.1  系統概述 508

25.2  系統功能 509

25.3  數據庫設計和實現 509

25.3.1  設計方案圖表 509

25.3.2  設計表 511

25.3.3  設計索引 514

25.3.4  設計視圖 515

25.3.5  設計觸發器 516

 

最後瀏覽商品 (1)