像程序員一樣使用 MySQL

黃文毅

  • 出版商: 清華大學
  • 出版日期: 2023-09-01
  • 售價: $534
  • 貴賓價: 9.5$507
  • 語言: 簡體中文
  • 頁數: 236
  • 裝訂: 平裝
  • ISBN: 7302642079
  • ISBN-13: 9787302642077
  • 相關分類: MySQLSQL
  • 立即出貨

  • 像程序員一樣使用 MySQL-preview-1
  • 像程序員一樣使用 MySQL-preview-2
  • 像程序員一樣使用 MySQL-preview-3
像程序員一樣使用 MySQL-preview-1

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

商品描述

熟練使用MySQL數據庫,是研發工程師和數據庫工程師的必備技能之一。本書從程序員的視角介紹了MySQL數據庫在實際開發中的核心知識和應用技能。 全書共14章。第1章主要講解MySQL數據庫以及客戶端工具的安裝;第2~4章主要介紹數據庫與表的創建、數據類型與表達式,以及函數、運算符與變量;第5章主要講解select查詢語句、子查詢以及連接查詢;第6章主要講解索引和索引類型;第7、8章主要介紹MySQL事務的ACID特性、事務的四種隔離級別、如何使用事務、存儲過程和視圖概述,以及如何使用存儲過程和視圖;第9章介紹MySQL用戶權限管理以及數據備份與恢復;第10章介紹如何設計數據庫,包括關聯關系、E-R實體關系模型;第11~13章主要介紹MySQL日誌、鎖以及分庫分表;第14章介紹SQL性能優化與字符集。附錄部分包含本書用到的SQL腳本、詞匯解釋以及高頻面試題。 本書適合所有電腦專業的學生、軟件開發人員,以及DBA使用,也可作為培訓機構MySQL教學的參考書。

目錄大綱

目    錄

 

第 1 章  初識MySQL 1

1.1  安裝MySQL 1

1.1.1  在macOS上安裝MySQL 2

1.1.2  在Windows上安裝MySQL 6

1.2  如何選擇MySQL客戶端 10

1.2.1  在macOS上安裝Workbench 10

1.2.2  在macOS上安裝DataGrip 12

1.2.3  在Windows上安裝

Workbench 14

1.2.4  命令行連接MySQL 14

第 2 章  數據庫與表的創建 17

2.1  數據庫操作 17

2.1.1  創建第一個數據庫 18

2.1.2  更新數據庫名稱 20

2.1.3  刪除數據庫 21

2.1.4  取個合適的數據庫名稱 22

2.2  表操作 23

2.2.1  創建第一張表 23

2.2.2  表數據插入 26

2.2.3  建表規約 28

2.2.4  慎重刪除表和數據 29

2.2.5  修改表和表結構 31

2.2.6  表結構/表數據導出 35

第 3 章  MySQL常用數據類型 38

3.1  數值數據類型 38

3.1.1  整數類型 38

3.1.2  浮點數類型 40

3.1.3  定點數類型 42

3.1.4  bit類型 43

3.1.5  數值類型屬性 44

3.1.6  超出範圍和溢出處理 44

3.2  日期和時間類型 46

3.2.1  時間小數秒精確度 47

3.2.2  日期和時間類型轉換 48

3.3  字符串數據類型 49

3.3.1  char和varchar類型 50

3.3.2  blob和text類型 51

3.3.3  enum和set類型 52

3.3.4  JSON類型 53

3.3.5  數據類型默認值 57

第 4 章  運算符、函數與變量 59

4.1  運算符 59

4.1.1  運算符優先級 59

4.1.2  比較運算符和函數 60

4.1.3  邏輯運算符 62

4.1.4  賦值運算符 63

4.2  函數 65

4.2.1  字符串函數 65

4.2.2  數學函數 67

4.2.3  日期和時間函數 68

4.2.4  聚合函數 72

4.2.5  流程控制函數 73

4.2.6  強制類型轉換函數 74

4.2.7  加密函數 75

4.2.8  信息函數 77

4.3  變量 78

第 5 章  select查詢 80

5.1  select簡單查詢 80

5.1.1  無表查詢 80

5.1.2  指定列查詢 81

5.1.3  limit指定行和分頁查詢 81

5.2  where條件查詢 83

5.2.1  使用where子句 83

5.2.2  where單值查詢 84

5.2.3  範圍和區間查詢 85

5.2.4  模糊查詢 86

5.2.5  空值查詢 86

5.2.6  where多值查詢 87

5.3  數據排序order by 88

5.4  數據分組group by 89

5.5  分組後過濾having 91

5.6  組合查詢union 92

5.7  子查詢 96

5.8  連接查詢 98

第 6 章  索引 102

6.1  認識索引 102

6.1.1  什麽是索引 102

6.1.2  索引的種類 104

6.1.3  索引增、刪、改、查 105

6.2  索引類型 108

6.2.1  主鍵及主鍵索引 108

6.2.2  唯一索引 109

6.2.3  普通的單字段索引 110

6.2.4  普通的組合索引 110

6.2.5  前綴索引 112

第 7 章  MySQL事務 114

7.1  事務的4大特性 114

7.2  使用事務 116

7.3  事務的4種隔離級別 120

第 8 章  MySQL視圖和存儲過程 127

8.1  視圖 127

8.1.1  視圖的使用場景 127

8.1.2  視圖的增、刪、改、查 128

8.1.3  使用視圖的註意事項 130

8.2  存儲過程 131

8.2.1  存儲過程的增、刪、改、查 131

8.2.2  存儲過程與流程控制語句

搭配使用 134

8.2.3  應用場景與優缺點 135

第 9 章  用戶權限管理及 數據備份與恢復 136

9.1  用戶權限管理 136

9.1.1  用戶管理 136

9.1.2  角色管理 138

9.1.3  權限管理及授權 139

9.2  數據備份 141

9.2.1  mysqldump概述 141

9.2.2  mysqldump數據備份 142

9.3  數據恢復 145

第 10 章  數據庫設計 147

10.1  關聯關系 147

10.1.1  一對一 147

10.1.2  一對多 149

10.1.3  多對多 149

10.1.4  自關聯 150

10.2  E-R實體關系模型 150

10.3  數據表設計三範式 152

10.4  數據庫設計流程 153

10.5  教務管理系統數據庫設計案例 154

10.5.1  需求分析 154

10.5.2  設計 155

10.5.3  實現 159

第 11 章  數據庫日誌 161

11.1  MySQL的幾種日誌 161

11.2  瞭解錯誤日誌 162

11.3  瞭解普通查詢日誌 162

11.4  瞭解慢查詢日誌 164

11.5  瞭解二進制日誌 166

11.6  瞭解撤銷日誌 167

11.7  瞭解重做日誌 167

11.8  瞭解中繼日誌 168

11.9  主從模式與主從同步 168

第 12 章  MySQL鎖 172

12.1  MySQL鎖及分類 172

12.2  共享鎖和獨占鎖 172

12.3  全局鎖 174

12.4  表級鎖 176

12.4.1  表鎖 176

12.4.2  元數據鎖 178

12.4.3  意向鎖 180

12.4.4  自增鎖 183

12.5  行鎖 183

12.5.1  記錄鎖 184

12.5.2  間隙鎖與臨鍵鎖 185

12.5.3  插入意向鎖 189

12.6  悲觀鎖和樂觀鎖 191

第 13 章  MySQL分庫分表 193

13.1  分庫 193

13.2  分表 194

13.3  切分方式 194

13.3.1  水平切分的方式 194

13.3.2  垂直切分的方式 196

13.4  分組 196

第 14 章  SQL性能優化與字符集 198

14.1  SQL優化工具 198

14.1.1  explain執行計劃 198

14.1.2  show profile 200

14.2  慢SQL優化 204

14.2.1  表無任何索引 204

14.2.2  索引失效優化 205

14.2.3  使用索引覆蓋優化 209

14.2.4  插入性能優化 209

14.2.5  優化select count(*) 212

14.2.6  select*語句優化 213

14.3  字符集 214

14.3.1  字符集概述 214

14.3.2  設置適當的字符集 214

14.3.3  設置默認字符集 215

14.3.4  轉換字符集 215

附錄A  MySQL數據 216

附錄B  詞匯解釋 217

附錄C  MySQL高頻面試題 219

附錄D  練習題 223

參考文獻 226