480 個詳細實例和16 個綜合案例原始程式碼
最新版MySQL的最新特性一次說清楚
DBA人員、DB設計工程師、網頁工程師必備的案頭佳作MySQL是老牌關聯式資料庫,每一個學程式設計的一定都會使用,但你真正了解MySQL嗎?市面上的書籍大部分已假設你對MySQL有一定的認識,因此許多重要的觀念都跳過不說,讓大部分的人都停留在「會用」,但「不知為何」的處境。本書是最新版MySQL,加入相當多新功能,並且幫你從頭複習每一個MySQL的重要指令及操作觀念,如果你是MySQL新手,這本書將是把你從新手過渡到高手的重要資產,如果你已熟悉MySQL,這本書也將補足你從前學習過程的不足,讓你的技術功能更紮實完整。
本書內容:包含了MySQL的安裝與設定、資料庫的建立、資料表的建立、資料類型和運算子、MySQL函數、查詢資料、資料表的操作(插入、更新與刪除資料)、索引、預存程序和函數、視圖、觸發器、使用者管理、資料備份與還原、MySQL記錄檔、效能最佳化、MySQL Replication、MySQL Workbench、MySQL Utilities、MySQL Proxy、PHP操作MySQL資料庫和PDO資料庫抽象類別庫等。
最後也透過3個綜合案例的資料庫設計,進一步說明MySQL在實際工作中的應用。
本書特色:1.內容全面:涵蓋了所有MySQL 的基礎知識,由淺入深地掌握MySQL 資料庫開發技術。
2.圖文並茂:在介紹案例的過程中,每一個操作均有對應步驟和過程說明。這種圖文結合的方式讓讀者在學習過程中能夠直觀、清晰地看到操作的過程以及效果,便於讀者更快地了解和掌握。
3.易學好用:顛覆傳統「看」書的觀念,變成一本能「操作」的圖書。
4.案例豐富:把基礎知識融匯於系統的案例實訓當中,並且結合綜合案例說明和擴充,進而達到「知其然,並知其所以然」的效果。
5.提示說明:本書對讀者在學習過程中可能會遇到的疑難問題以「提示」的形式說明,以免讀者在學習的過程中走冤枉路。
6.超值資源:本書共有480 個詳細實例和16 個綜合案例原始程式碼,能讓讀者在實戰應用中掌握MySQL 的每一項技能。
適合讀者:本書是一本完整介紹MySQL 資料庫技術的教學,內容豐富、條理清晰、實用性強,適合以下讀者學習使用:
■ MySQL 資料庫初學者。
■ 對資料庫開發有興趣,希望快速、全面掌握 MySQL 的人員。
■ 對其他資料庫有一定的了解,想轉到 MySQL 平台上的開發者。
■ 大專院校和教育訓練學校相關專業的師生。
作者簡介:
王英英
從事多年網站開發和APP程序開發,精通各種編程語言、網絡編程和數據庫開發知識,具有豐富的實戰開發經驗。對Web前端、Java、Python有深入研究,並出版過多本相關暢銷書,頗受廣大讀者認可。
作者序
前言
本書是針對MySQL 資料庫管理系統初學者的一本高品質的入門圖書。目前MySQL 技術需求旺盛,各大知名企業都高薪應徵技術能力強的MySQL 資料庫開發人員和管理人員。本書根據這樣的需求,以MySQL 8 版本為基礎,針對初學者量身定做,內容注重實戰,透過實例的操作與分析,領導讀者快速學習和掌握MySQL 開發和管理技術。
▨ 本書內容
■ 第 1 章主要介紹資料庫的技術組成和什麼是 MySQL,包含資料庫基本概念和MySQL 工具。
■ 第 2 章介紹 MySQL 8 的安裝和設定,主要包含 Windows 平台下的安裝和設定、Linux 平台下的安裝和設定、如何啟動MySQL 服務、如何更改MySQL 的設定等。
■ 第 3 章介紹 MySQL 資料庫的基本操作,包含建立資料庫、刪除資料庫和MySQL 資料庫儲存引擎。
■ 第 4 章介紹 MySQL 資料表的基本操作,主要包含建立資料表、檢視資料表結構、修改資料表和刪除資料表。
■ 第 5 章介紹 MySQL 中的資料類型和運算子,主要包含 MySQL 資料類型介紹、如何選擇資料類型和常見運算子介紹。
■ 第 6 章介紹 MySQL 函數,包含數學函數、字串函數、日期和時間函數、條件判斷函數、系統資訊函數、加密函數和其他函數。
■ 第 7 章介紹如何查詢資料表中的資料,主要包含基本查詢敘述、單表查詢、使用匯總函數查詢、連接查詢、子查詢、合併查詢結果、為表和欄位取別名以及使用正規表示法查詢。
■ 第 8 章介紹如何插入、更新與刪除資料,包含插入資料、更新資料、刪除資料。
■ 第 9 章介紹 MySQL 中的索引,包含索引簡介、如何建立各種類型的索引和如何刪除索引。
■第 10 章介紹 MySQL 中的預存程序和函數,包含預存程序和函數的建立、呼叫、檢視、修改和刪除。
■ 第 11 章介紹 MySQL 視圖,主要介紹視圖的概念、建立視圖、檢視視圖、修改視圖、更新視圖和刪除視圖。
■ 第 12 章介紹 MySQL 觸發器,包含建立觸發器、檢視觸發器、觸發器的使用和刪除觸發器。
■ 第 13 章介紹 MySQL 使用者管理,主要包含 MySQL 中的各種許可權表、帳戶管理、許可權管理和MySQL 的存取控制機制。
■ 第 14 章介紹 MySQL 資料庫的備份和恢復,主要包含資料備份、資料恢復、資料庫的遷移和資料表的匯出和匯入。
■ 第 15 章介紹 MySQL 記錄檔,主要包含記錄檔簡介、二進位記錄檔、錯誤記錄檔、通用查詢記錄檔和慢查詢記錄檔。
■ 第 16 章介紹如何對 MySQL 進行效能最佳化,包含最佳化簡介、最佳化查詢、最佳化資料庫結構和最佳化MySQL 伺服器。
■ 第 17 章介紹 MySQL Replication 複製資料的操作方法和技巧。
■ 第 18 章介紹 MySQL Workbench 設計 MySQL 資料庫的方法和技巧。
■ 第 19 章介紹 MySQL Utilities 管理 MySQL 資料庫的方法和技巧。
■ 第 20 章介紹 MySQL Proxy 操作 MySQL 資料庫的方法和技巧。
■ 第 21 章介紹 PHP 操作 MySQL 資料庫的方法和技巧。
■ 第 22 章介紹 MySQL 儲存引擎的工作原理。
■ 第 23 章介紹 PHP 操作 MySQL 資料庫的方法和技巧。
■ 第 24 章介紹 PDO 資料庫抽象類別庫的使用方法和技巧。
■ 第 25 章介紹開發網上商場的方法和實現過程。
■ 第 26 章介紹討論區系統資料庫的設計方法和實現過程。
■ 第 27 章介紹新聞發佈系統資料庫的設計方法和實現過程。
▨ 本書特色
內容全面:涵蓋了所有MySQL 的基礎知識,由淺入深地掌握MySQL 資料庫開發技術。
圖文並茂:在介紹案例的過程中,每一個操作均有對應步驟和過程說明。這種圖文結合的方式讓讀者在學習過程中能夠直觀、清晰地看到操作的過程以及效果,便於讀者更快地了解和掌握。
易學好用:顛覆傳統「看」書的觀念,變成一本能「操作」的圖書。
案例豐富:把基礎知識融匯於系統的案例實訓當中,並且結合綜合案例說明和擴充,進而達到「知其然,並知其所以然」的效果。
提示說明:本書對讀者在學習過程中可能會遇到的疑難問題以「提示」的形式說明,以免讀者在學習的過程中走冤枉路。
超值資源:本書共有480 個詳細實例和16 個綜合案例原始程式碼,能讓讀者在實戰應用中掌握MySQL 的每一項技能。
▨ 教材、原始程式
由於本書之作者為中國大陸人士,本書教材、原始程式為簡體中文,相關程式請至本公司官網https://deepmind.com.tw/ 下載。
▨ 適合讀者群
本書是一本完整介紹MySQL 資料庫技術的教學,內容豐富、條理清晰、實用性強,適合以下讀者學習使用:
■ MySQL 資料庫初學者。
■ 對資料庫開發有興趣,希望快速、全面掌握 MySQL 的人員。
■ 對其他資料庫有一定的了解,想轉到 MySQL 平台上的開發者。
■ 大專院校和教育訓練學校相關專業的師生。
▨ 鳴謝與技術支援
本書由王英英著,同時李小威、劉增產、王秀榮、王天護、張工廠、劉增傑、劉玉萍、胡同夫、皮素芹、王猛、王攀登、王婷婷、王朵朵、李小威、王維維、張芳、劉玉紅等人也參與了寫作工作。雖然傾注了許多人員的努力,但由於水準有限,書中難免有疏漏之處。如果遇到問題或有意見和建議,敬請與我們聯繫,我們將全力提供幫助。
前言
本書是針對MySQL 資料庫管理系統初學者的一本高品質的入門圖書。目前MySQL 技術需求旺盛,各大知名企業都高薪應徵技術能力強的MySQL 資料庫開發人員和管理人員。本書根據這樣的需求,以MySQL 8 版本為基礎,針對初學者量身定做,內容注重實戰,透過實例的操作與分析,領導讀者快速學習和掌握MySQL 開發和管理技術。
▨ 本書內容
■ 第 1 章主要介紹資料庫的技術組成和什麼是 MySQL,包含資料庫基本概念和MySQL 工具。
■ 第 2 章介紹 MySQL 8 的安裝和設定,主要包含 Windows 平台下的安裝和設定、Linux 平台下的安裝和設定、...
目錄
01 初識MySQL
1.1 資料庫基礎
1.2 資料庫技術組成
1.3 什麼是MySQL
1.4 MySQL 工具
1.5 MySQL 8.0 的新特性簡述
1.6 如何學習MySQL
02 MySQL 的安裝與設定
2.1 Windows 平台下安裝與設定MySQL 8.0
2.2 啟動服務並登入MySQL資料庫
2.3 MySQL 常用圖形管理工具
2.4 Linux 平台下安裝與設定MySQL 8.0
2.5 專家解惑
2.6 經典習題
03 資料庫的基本操作
3.1 建立資料庫
3.2 刪除資料庫
3.3 MySQL 8.0 的新特性—系統表全部為InnoDB 表
3.4 綜合案例—資料庫的建立和刪除
3.5 專家解惑
3.6 經典習題
04 資料表的基本操作
4.1 建立資料表
4.2 檢視資料表結構
4.3 修改資料表
4.4 刪除資料表
4.5 MySQL 8.0 的新特性1—預設字元集改為utf8mb4
4.6 MySQL 8.0 的新特性2—自動增加變數的持久化
4.7 綜合案例—資料表的基本操作
4.8 專家解惑
4.9 經典習題
05 資料類型和運算子
5.1 MySQL 資料類型介紹
5.2 如何選擇資料類型
5.3 常見運算子介紹
5.4 綜合案例—運算子的使用
5.5 專家解惑
5.6 經典習題
06 MySQL 函數
6.1 MySQL 函數簡介
6.2 數學函數
6.3 字串函數
6.4 日期和時間函數
6.5 條件判斷函數
6.6 系統資訊函數
6.7 MySQL 8.0 的新特性1—加密函數
6.8 其他函數
6.9 MySQL 8.0 的新特性2—視窗函數
6.10 綜合案例—MySQL 函數的使用
6.11 專家解惑
6.12 經典習題
07 查詢資料
7.1 基本查詢敘述
7.2 單表查詢
7.3 使用集合函數查詢
7.4 連接查詢
7.5 子查詢
7.6 合併查詢結果
7.7 為表和欄位取別名
7.8 使用正規表示法查詢
7.9 MySQL 8.0 的新特性1—GROUP BY 不再隱式排序
7.10 MySQL 8.0 的新特性2—通用表運算式
7.11 綜合案例—資料表查詢操作
7.12 專家解惑
7.13 經典習題
08 插入、更新與刪除資料
8.1 插入資料
8.2 更新資料
8.3 刪除資料
8.4 為表增加計算列
8.5 MySQL 8.0 的新特性—DDL 的最小化
8.6 綜合案例—記錄的插入、更新和刪除
8.7 專家解惑
8.8 經典習題
09 索引
9.1 索引簡介
9.2 建立索引
9.3 刪除索引
9.4 MySQL 8.0 的新特性1—支援降冪索引
9.5 MySQL 8.0 的新特性2—統計長條圖
9.6 綜合案例—建立索引
9.7 專家解惑
9.8 經典習題
10 預存程序和函數
10.1 建立預存程序和函數
10.2 呼叫預存程序和函數
10.3 檢視預存程序和函數
10.4 修改預存程序和函數
10.5 刪除預存程序和函數
10.6 MySQL 8.0 的新特性—全域變數的持久化
10.7 綜合案例—建立預存程序和函數
10.8 專家解惑
10.9 經典習題
11 視圖
11.1 視圖概述
11.2 建立視圖
11.3 檢視視圖
11.4 修改視圖
11.5 更新視圖
11.6 刪除視圖
11.7 綜合案例—視圖應用
11.8 專家解惑
11.9 經典習題
12 MySQL 觸發器
12.1 建立觸發器
12.2 檢視觸發器
12.3 觸發器的使用
12.4 刪除觸發器
12.5 綜合案例—觸發器的使用
12.6 專家解惑
12.7 經典習題
13 MySQL 許可權與安全管理
13.1 權限表
13.2 帳戶管理
13.3 許可權管理
13.4 存取控制
13.5 提升安全性
13.6 MySQL 8.0 的新特性—管理角色
13.7 綜合案例—綜合管理使用者許可權
13.8 專家解惑
13.9 經典習題
14 資料備份與恢復
14.1 資料備份
14.2 資料恢復
14.3 資料庫遷移
14.4 表的匯出和匯入
14.5 綜合案例—資料的備份與恢復
14.6 專家解惑
14.7 經典習題
15 MySQL 記錄檔
15.1 記錄檔簡介
15.2 二進位記錄檔
15.3 錯誤記錄檔
15.4 通用查詢記錄檔
15.5 慢查詢記錄檔
15.6 MySQL 8.0 的新特性—記錄檔分類更詳細
15.7 綜合案例—MySQL 記錄檔的綜合管理
15.8 專家解惑
15.9 經典習題
16 效能最佳化
16.1 最佳化簡介
16.2 最佳化查詢
16.3 最佳化資料庫結構
16.4 最佳化MySQL 伺服器
16.5 臨時表效能最佳化
16.6 伺服器敘述逾時處理
16.7 建立全域通用表格空間
16.8 MySQL 8.0 的新特性1—支援不可見索引
16.9 MySQL 8.0 的新特性2—增加資源群組
16.10 綜合案例—全面最佳化MySQL 伺服器
16.11 專家解惑
16.12 經典習題
17 MySQL Replication
17.1 MySQL Replication 概述
17.2 Windows 環境下的MySQL主從複製
17.3 Linux 環境下的MySQL 複製
17.4 檢視Slave 的複製進度
17.5 日常管理和維護
17.6 切換主從伺服器
17.7 多源複製的改進
17.8 專家解惑
17.9 經典習題
18 MySQL Workbench的使用
18.1 MySQL Workbench 簡介
18.2 SQL Development 的基本操作
18.3 Data Modeling 的基本操作
18.4 Server Administration 的基本操作
18.5 專家解惑
18.6 經典習題
19 MySQL 管理利器—MySQL Utilities
19.1 MySQL Utilities 概述
19.2 安裝與設定
19.3 管理與維護
19.4 專家解惑
19.5 經典習題
20 讀寫分離的利器—MySQL Proxy
20.1 概述
20.2 安裝與設定
20.3 使用MySQL Proxy 實現讀寫分離
20.4 專家解惑
20.5 經典習題
21 精通MySQL 儲存引擎
21.1 MySQL 架構
21.2 資料庫儲存引擎
21.3 認識MySQL 的鎖定機制
21.4 MyISAM 的鎖定機制
21.5 InnoDB 的鎖定機制
21.6 InnoDB 儲存引擎的線上操作
21.7 MySQL 8.0 的新特性1—支援JSON 類型
21.8 MySQL 8.0 的新特性2—全文索引的加強
21.9 MySQL 8.0 的新特性3—動態修改InnoDB 緩衝集區的大小
21.10 MySQL 8.0 的新特性4—表格空間資料加密
21.11 MySQL 8.0 的新特性5—跳過鎖等待
21.12 專家解惑
21.13 經典習題
22 PHP 操作MySQL 資料庫
22.1 PHP 存取MySQL 資料庫的一般步驟
22.2 連接資料庫前的準備工作
22.3 存取資料庫
22.4 綜合實例1—PHP 操作MySQL 資料庫
22.5 綜合實例2—使用insert敘述動態增加使用者資訊
22.6 綜合實例3—使用select敘述查詢資料資訊
22.7 專家解惑
23 PDO 資料庫抽象類別庫
23.1 PDO 概述
23.3 使用PDO 操作MySQL
23.4 綜合實例—PDO 的prepare 表述
23.5 專家解惑
24 綜合專案1—開發線上購物
24.1 系統功能描述
24.2 系統功能分析
24.3 程式的實作方式
24.4 程式執行
25 綜合專案2—討論區管理系統資料庫設計
25.1 系統概述
25.2 系統功能
25.3 資料庫設計和實現
26 綜合專案3—新聞發佈系統資料庫設計
26.1 系統概述
26.2 系統功能
26.3 資料庫設計和實現
01 初識MySQL
1.1 資料庫基礎
1.2 資料庫技術組成
1.3 什麼是MySQL
1.4 MySQL 工具
1.5 MySQL 8.0 的新特性簡述
1.6 如何學習MySQL
02 MySQL 的安裝與設定
2.1 Windows 平台下安裝與設定MySQL 8.0
2.2 啟動服務並登入MySQL資料庫
2.3 MySQL 常用圖形管理工具
2.4 Linux 平台下安裝與設定MySQL 8.0
2.5 專家解惑
2.6 經典習題
03 資料庫的基本操作
3.1 建立資料庫
3.2 刪除資料庫
3.3 MySQL 8.0 的新特性—系統表全部為InnoDB 表
3.4 綜合案例—資料庫的建立和刪除
3.5 專家解惑
3.6 經典習題
04 資料...