MySQL 從入門到精通, 3/e
明日科技
買這商品的人也買了...
-
$505網絡攻防實戰研究:MySQL數據庫安全
-
$540$513 -
$454Wi-Fi 6:入門到應用
-
$505區塊鏈應用開發指南 : 業務場景剖析與實戰
-
$600$468 -
$1,200$792 -
$720$569 -
$390RISC-V 體系結構編程與實踐
-
$449PLC 編程與伺服控制從入門到工程實戰
-
$505從零學習PLC編程與接線
-
$550$413 -
$599$569 -
$539$512 -
$599$569 -
$539$512 -
$654$621 -
$774$735 -
$594$564 -
$648$616 -
$630$536 -
$780$616 -
$2,660$2,527 -
$600$420 -
$980$647 -
$594$564
相關主題
商品描述
《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