MySQL入門經典

MySQL入門經典

《MySQL入門經典》是2013年4月機械工業出版社出版的圖書,作者是王雨竹、高飛。本書以初學者為核心,全面講解MySQL資料庫技術。

內容簡介

《MySQL入門經典》在內容安排上由淺人深,讓讀者循序漸進地掌握編程技術;在內容講解上結合豐富的圖解和形象的比喻,幫助讀者理解晦澀難懂的技術;在內容形式上附有大量的注意、技巧、說明等欄目,以提高讀者的編程技術,豐富讀者的編程經驗。全書共分4篇19章,其中,第一篇為基礎知識,主要包括初識廬山真面目——MySQL資料庫,再識廬山真面目——簡單的MySQL環境,如何存儲和獲取數據——MySQL存儲引擎、數據類型和運算符,最實用的編程語句——MySQL基本操作,在迷宮中尋找出口——掌握函式,不可不知的查詢方法——數據查詢的內容;第二篇為核心技術,主要包括讓程式速度加快——MySQL索引,一次編寫多次調用——MysQL存儲過程,定時炸彈——觸發器,虛擬世界——MySQL視圖,讓程式聽話——MySQL事務,實施管理任務——MysQL系統管理的內容;第三篇為高級技術,主要包括保存數據必備——資料庫備份與還原,提高程式的便捷——MySQL性能最佳化,進入了武器庫——MySQL資料庫安全技術,瑣碎小事——MySQL日常管理,更上一層樓——PHP訪問MySQL資料庫的內容;第四篇為項目實戰,主要包括Java與MySQL資料庫——圖書管理系統,C語言與MySQL資料庫——圖書管理系統的兩個實戰項目。

《MySQL入門經典》附有配套光碟,光碟中提供有《MySQL入門經典》所有程式的原始碼、多媒體教學視頻、程式開發資源庫。其中,原始碼全部經過精心測試,能夠在WindowsXP、Windows7作業系統上編譯和運行。

作品目錄

前言

第一篇 基礎知識

第1章 初識廬山真面目——MySQL資料庫

視頻講解:4分鐘

1.1 為什麼選擇MySQL資料庫

1.1.1 什麼是MySQL資料庫

1.1.2 MySQL的優勢

1.1.3 MySQL的發展史

1.2 MySQL特性

1.3 MySQL的套用環境

1.4 MySQL的管理軟體

1.5 如何學MySQL

1.5.1 如何學好MySQL

1.5.2 MySQL學習常見問題

1.6 小結

1.7 習題

第2章 再識廬山真面目——簡單的MySQL環境

視頻講解:37分鐘

2.1 數據根源——MySQL下載

2.2 搭建橋樑——MySQL環境安裝

2.3 啟動、連線、斷開和停止MySQL伺服器

2.3.1 啟動和停止MySQL伺服器

2.3.2 連線和斷開MySQL伺服器

2.4 使用免安裝的MySQL

2.5 MySQL Workbench圖形化管理工具

2.5.1 MySQL Workbench安裝

2.5.2 創建資料庫和數據表

2.5.3 添加數據

2.5.4 數據的導入和導出

2.6 phpMyAdmin圖形化管理工具

2.6.1 資料庫操作管理

2.6.2 管理數據表

2.6.3 管理數據記錄

2.6.4 導入導出數據

2.6.5 phpMyAdmin設定編碼格式

2.6.6 phpMyAdmin添加伺服器新用戶

2.6.7 phpMyAdmin中重置MySQL伺服器登錄密碼

2.7 上機實踐

2.7.1 啟動、停止伺服器

2.7.2 連線MySQL伺服器

2.8 小結

2.9 習題

第3章 如何存儲和獲取數據——MySQL存儲引擎、數據類型和運算符

視頻講解:34分鐘

3.1 最常用的引擎類型——MySQL存儲引擎

3.1.1 什麼是MySQL存儲引擎

3.1.2 查詢MySQL中支持的存儲引擎

3.1.3 InnoDB存儲引擎

3.1.4 MyISAM存儲引擎

3.1.5 MEMORY存儲引擎

3.1.6 如何選擇存儲引擎

3.1.7 設定數據表的存儲引擎

3.2 數據是如何分類的——MySQL數據類型

3.2.1 數字類型

3.2.2 字元串類型

3.2.3 日期和時間數據類型

3.3 最基本的程式元素——MySQL運算符

3.3.1 算術運算符

3.3.2 比較運算符

3.3.3 邏輯運算符

3.3.4 位運算符

3.3.5 運算符的優先權

3.4 上機實踐

3.4.1 查看存儲引擎、創建和刪除資料庫

3.4.2 位運算的比較

3.4.3 邏輯運算符的使用

3.5 小結

3.6 習題

第4章 最實用的編程語句——MySQL基本操作

視頻講解:38分鐘

4.1 MySQL資料庫操作

4.1.1 創建資料庫CREATE DATABASE

4.1.2 查看資料庫SHOW DATABASES

4.1.3 選擇資料庫USE DATABASE

4.1.4 刪除資料庫DROP DATABASE

4.2 MySQL數據表操作

4.2.1 創建數據表CREATE TABLE

4.2.2 查看錶結構SHOW COLUMNS或DESCRIBE

4.2.3 修改表結構ALTER TABLE

4.2.4 重命名表RENAME TABLE

4.2.5 刪除表DROP TABLE

4.3 MySQL語句操作

4.3.1 插入記錄INSERT

4.3.2 查詢資料庫記錄SELECT

4.3.3 修改記錄UPDATE

4.3.4 刪除記錄DELETE

4.4 上機實踐

4.4.1 操作teacher表

4.4.2 存在外鍵約束時,不能刪除、更新主表

4.4.3 登錄資料庫系統

4.5 小結

4.6 習題

第5章 在迷宮中尋找出口——掌握函式

視頻講解:37分鐘

5.1 程式的靈魂——MySQL函式

5.2 數字的趣味——數學函式

5.2.1 ABS(x)函式

5.2.2 FLOOR(x)函式

5.2.3 RAND()函式

5.2.4 PI()函式

5.2.5 TRUNCATE(x,y)函式

5.2.6 ROUND(x)函式和ROUND(x,y)函式

5.2.7 SQRT(x)函式

5.3 讓字元舞起來——字元串函式

5.3.1 INSERT(s1,x,len,s2)函式

5.3.2 UPPER(s)函式和UCASE(s)函式

5.3.3 LEFT(s,n)函式

5.3.4 RTRIM(s)函式

5.3.5 SUBSTRING(s,n,len)函式

5.3.6 REVERSE(s)函式

5.3.7 FIELD(s,s1,s2,…)函式

5.4 時間如寶——日期和時間函式

5.4.1 CURDATE()函式和CURRENT_DATE()函式

5.4.2 CURTIME()函式和CURRENT_TIME()函式

5.4.3 NOW()函式

5.4.4 DATEDIFF(d1,d2)函式

5.4.5 ADDDATE(d,n)函式

5.4.6 ADDDATE(d,INTERVAL expr type)函式

5.4.7 SUBDATE(d,n)函式

5.5 多種選擇——條件判斷函式

5.6 系統信息函式

5.6.1 獲取MySQL版本號、連線數和資料庫名的函式

5.6.2 獲取用戶名的函式

5.6.3 獲取字元串的字元集和排序方式的函式

5.7 安全設定——加密函式

5.7.1 加密函式PASSWORD(str)

5.7.2 加密函式MD5(str)

5.8 其他函式

5.8.1 格式化函式FORMAT(x,n)

5.8.2 改變字元集的函式

5.8.3 改變欄位數據類型的函式

5.9 上機實踐

5.9.1 字元串函式的使用

5.9.2 查看當前資料庫版本號

5.9.3 生成3個1~100之間的隨機整數

5.10 小結

5.11 習題

第6章 不可不知的查詢方法——數據查詢

視頻講解:52分鐘

6.1 簡單明了——基本查詢語句

6.2 最通俗易懂——單表查詢

6.2.1 查詢所有欄位

6.2.2 查詢指定欄位

6.2.3 查詢指定數據

6.2.4 帶IN關鍵字的查詢

6.2.5 帶BETWEEN AND的範圍查詢

6.2.6 帶LIKE的字元匹配查詢

6.2.7 用IS NULL關鍵字查詢空值

6.2.8 帶AND的多條件查詢

6.2.9 帶OR的多條件查詢

6.2.10 用DISTINCT關鍵字去除結果中的重複行

6.2.11 用ORDER BY關鍵字對查詢結果排序

6.2.12 用GROUP BY關鍵字分組查詢

6.2.13 用LIMIT限制查詢結果的數量

6.3 摻雜數字趣味——聚合函式查詢

6.3.1 COUNT()函式

6.3.2 SUM()函式

6.3.3 AVG()函式

6.3.4 MAX()函式

6.3.5 MIN()函式

6.4 串聯一起——連線查詢

6.4.1 內連線查詢

6.4.2 外連線查詢

6.4.3 複合條件連線查詢

6.5 從外到內——子查詢

6.5.1 帶IN關鍵字的子查詢

6.5.2 帶比較運算符的子查詢

6.5.3 帶EXISTS關鍵字的子查詢

6.5.4 帶ANY關鍵字的子查詢

6.5.5 帶ALL關鍵字的子查詢

6.6 合併查詢結果

6.7 欄位暱稱——定義表和欄位的別名

6.7.1 為表取別名

6.7.2 為欄位取別名

6.8 使用正則表達式查詢

6.8.1 匹配指定字元中的任意一個

6.8.2 使用“*”和“+”來匹配多個字元

6.9 上機實踐

6.9.1 使用聚合函式SUM對學生成績進行匯總

6.9.2 查詢大於指定條件的記錄

6.9.3 使用比較運算符進行子查詢

6.10 小結

6.11 習題

第二篇 核心技術

第7章 讓程式速度加快——MySQL索引

視頻講解:23分鐘

7.1 MySQL索引概貌

7.1.1 MySQL索引概述

7.1.2 MySQL索引分類

7.2 創建索引

7.2.1 在建立數據表時創建索引

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

7.2.3 修改數據表結構添加索引

7.3 刪除索引

7.4 上機實踐

7.4.1 使用CREATE INDEX創建索引

7.4.2 使用ALTER TABLE語句創建全文索引

7.4.3 刪除唯一索引

7.5 小結

7.6 習題

第8章 一次編寫多次調用——MySQL存儲過程

視頻講解:33分鐘

8.1 創建存儲過程和存儲函式

8.1.1 創建存儲過程

8.1.2 創建存儲函式

8.1.3 變數的套用

8.1.4 游標的運用

8.2 流程控制語句

8.2.1 IF語句

8.2.2 CASE語句

8.2.3 WHILE循環語句

8.2.4 LOOP循環語句

8.2.5 REPEAT循環語句

8.3 調用存儲過程和存儲函式

8.3.1 調用存儲過程

8.3.2 調用存儲函式

8.4 查看存儲過程和函式

8.4.1 SHOW STATUS語句

8.4.2 SHOW CREATE語句

8.5 修改存儲過程和函式

8.6 刪除存儲過程和函式

8.7 捕獲存儲過程中的錯誤

8.7.1 定義條件

8.7.2 定義處理程式

8.8 上機實踐

8.8.1 使用存儲過程實現用戶註冊(PHP)

8.8.2 修改存儲函式

8.8.3 從information_schema.Routines表中查看存儲過程

8.9 小結

8.10 習題

第9章 定時炸彈——觸發器

視頻講解:22分鐘

9.1 MySQL觸發器

9.1.1 創建MySQL觸發器

9.1.2 創建具有多個執行語句的觸發器

9.2 查看觸發器

9.2.1 SHOW TRIGGERS

9.2.2 查看triggers表中觸發器信息

9.3 套用觸發器

9.4 刪除觸發器

9.5 上機實踐

9.5.1 創建一個由INSERT觸發的觸發器

9.5.2 獲取資料庫中的觸發器

9.5.3 使用DROP TIRGGER刪除觸發器

9.6 小結

9.7 習題

第10章 虛擬世界——MySQL視圖

視頻講解:22分鐘

10.1 MySQL視圖

10.1.1 視圖的概念

10.1.2 視圖的作用

10.2 創建視圖

10.2.1 查看用戶是否具有創建視圖的許可權

10.2.2 創建視圖

10.2.3 創建視圖的注意事項

10.3 查看視圖

10.4 修改視圖

10.5 更新視圖

10.6 刪除視圖

10.7 上機實踐

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

10.7.2 在單表上創建視圖

10.7.3 使用MySQL視圖查詢學生信息表

10.8 小結

10.9 習題

第11章 讓程式聽話——MySQL事務

視頻講解:15分鐘

11.1 MySQL事務概述

11.1.1 原子性

11.1.2 一致性

11.1.3 孤立性

11.1.4 持久性

11.2 MySQL事務的創建與存在周期

11.2.1 初始化事務

11.2.2 創建事務

11.2.3 套用SELECT語句查看數據是否被正確輸入

11.2.4 提交事務

11.2.5 撤銷事務(事務回滾)

11.2.6 事務的存在周期

11.3 MySQL行為

11.3.1 自動提交

11.3.2 事務的孤立級

11.3.3 修改事務的孤立級

11.4 事務和性能

11.4.1 套用小事務

11.4.2 選擇合適的孤立級

11.4.3 死鎖的概念與避免

11.5 MySQL偽事務

11.5.1 用表鎖定代替事務

11.5.2 套用表鎖實現偽事務

11.6 上機實踐

11.6.1 使用事務處理技術實現銀行的安全轉賬(PHP)

11.6.2 批處理中使用事務(Java)

11.7 小結

11.8 習題

第12章 實施管理任務——MySQL系統管理

視頻講解:18分鐘

12.1 MySQL系統管理

12.1.1 管理職責概述

12.1.2 日常管理

12.1.3 安全問題

12.1.4 資料庫修復和維護

12.2 數據目錄的位置

12.3 數據目錄的結構

12.4 MySQL伺服器如何提供對數據的訪問

12.5 MySQL資料庫在檔案系統里如何表示

12.6 MySQL數據表在檔案系統里如何表示

12.6.1 ISAM數據表

12.6.2 MyISAM數據表

12.6.3 MERGE數據表

12.6.4 BDB數據表

12.6.5 InnoDB數據表

12.6.6 HEAP數據表

12.7 SQL語句如何映射為數據表檔案操作

12.7.1 創建數據表

12.7.2 更新數據表

12.7.3 刪除數據表

12.8 作業系統對資料庫和數據表命名的限制

12.9 數據目錄的結構對系統性能的影響

12.10 MySQL狀態檔案和日誌檔案

12.11 小結

12.12 習題

第三篇 高級技術

第13章 保存數據必備——資料庫備份與還原

視頻講解:3分鐘

13.1 數據備份

13.1.1 使用mysqldump命令備份

13.1.2 直接複製整個資料庫目錄

13.1.3 使用mysqlhotcopy工具快速備份

13.2 數據還原

13.2.1 使用mysql命令還原

13.2.2 直接複製到資料庫目錄

13.3 資料庫遷移

13.3.1 MySQL相同版本的資料庫之間的遷移

13.3.2 不同資料庫之間的遷移

13.4 表的導出和導入

13.4.1 用SELECT...INTO OUTFILE導出文本檔案

13.4.2 用mysqldump命令導出文本檔案

13.4.3 用mysql命令導出文本檔案

13.5 上機實踐

13.5.1 將表中的內容導出到檔案中

13.5.2 使用mysql命令導出HTML檔案

13.5.3 導出XML檔案

13.6 小結

13.7 習題

第14章 提高程式的便捷——MySQL性能最佳化

視頻講解:11分鐘

14.1 最佳化簡介

14.2 最佳化查詢

14.2.1 分析語句查詢

14.2.2 索引對查詢速度的影響

14.2.3 使用索引查詢

14.3 最佳化資料庫結構

14.3.1 將欄位很多的表分解成多個表

14.3.2 增加中間表

14.3.3 最佳化插入記錄的速度

14.3.4 分析表、檢查表和最佳化表

14.4 查詢高速快取

14.4.1 檢驗高速快取是否開啟

14.4.2 使用高速快取

14.5 最佳化多表查詢

14.6 最佳化表設計

14.7 上機實踐

14.7.1 查看MySQL伺服器的連線、查詢次數

14.7.2 檢查表

14.7.3 最佳化表

14.8 小結

14.9 習題

第15章 進入了武器庫——MySQL資料庫安全技術

視頻講解:11分鐘

15.1 MySQL基本的安全保護策略

15.2 用戶和許可權管理

15.2.1 使用CREATE USER命令創建用戶

15.2.2 使用DROP USER命令刪除用戶

15.2.3 使用RENAME USER命令重命名用戶

15.2.4 GRANT和REVOKE命令

15.3 MySQL資料庫安全技術的常見問題

15.3.1 許可權更改何時生效

15.3.2 設定賬戶密碼

15.3.3 使密碼更安全

15.4 小結

15.5 習題

第16章 瑣碎小事——MySQL日常管理

視頻講解:8分鐘

16.1 連線故障恢復

16.1.1 MySQL套接字被誤刪

16.1.2 忘記root口令

16.2 日誌檔案管理

16.2.1 錯誤日誌

16.2.2 通用查詢日誌

16.2.3 二進制日誌

16.2.4 慢速查詢日誌

16.2.5 日誌檔案維護

16.2.6 日誌失效處理

16.3 MySQL伺服器鏡像配置

16.3.1 鏡像機制概念

16.3.2 建立主-從鏡像關係

16.3.3 MySQL雙機熱備份

16.4 MySQL伺服器的一些最佳化配置

16.4.1 對MySQL伺服器的連線監聽情況進行控制

16.4.2 啟用或禁用LOAD DATA語句的LOCAL能力

16.4.3 國際化和本地化

16.4.4 對老數據表進行轉換以激活MySQL 4.1的字元集支持

16.5 最佳化MySQL伺服器

16.5.1 伺服器參數變數的設定

16.5.2 通用的MySQL伺服器變數

16.5.3 InnoDB處理程式變數

16.6 運行多個MySQL伺服器

16.6.1 運行多個MySQL伺服器需要注意的問題

16.6.2 設定MySQL伺服器啟動選項的策略

16.6.3 用mysql_multi腳本啟動多個MySQL伺服器

16.6.4 在Windows系統上運行多個MySQL伺服器

16.7 小結

16.8 習題

第17章 更上一層樓——PHP訪問MySQL資料庫

視頻講解:39分鐘

17.1 PHP語言概述

17.1.1 什麼是PHP

17.1.2 為什麼選擇PHP

17.1.3 PHP的工作原理

17.1.4 PHP結合資料庫套用的優勢

17.2 PHP操作MySQL資料庫的步驟

17.3 使用PHP操作MySQL資料庫

17.3.1 mysql_connect()函式連線MySQL伺服器

17.3.2 mysql_select_db()函式連線MySQL資料庫

17.3.3 mysql_query()函式執行SQL語句

17.3.4 mysql_fetch_array()函式將結果集返回到數組中

17.3.5 mysql_fetch_row()函式從結果集中獲取一行作為枚舉數組

17.3.6 mysql_num_rows()函式獲取查詢結果集中的記錄數

17.3.7 mysql_free_result()函式釋放記憶體

17.3.8 mysql_close()函式關閉連線

17.4 PHP管理MySQL資料庫中的數據

17.4.1 向資料庫中添加數據

17.4.2 瀏覽資料庫中數據

17.4.3 編輯資料庫數據

17.4.4 刪除數據

17.4.5 批量刪除數據

17.5 常見問題與解決方法

17.6 MySQL與PHP的套用實例——迷你日記

17.6.1 迷你日記概述

17.6.2 資料庫設計

17.6.3 用戶登錄

17.6.4 發表日記

17.6.5 分頁顯示日記列表

17.6.6 彈出視窗修改日記

17.6.7 查詢日記

17.6.8 套用JavaScript實現批量刪除

17.7 小結

17.8 習題

第四篇 項目實戰

第18章 Java與MySQL資料庫——圖書管理系統

視頻講解:89分鐘

18.1 開發背景

18.2 系統分析

18.2.1 需求分析

18.2.2 可行性研究

18.3 系統設計

18.3.1 系統目標

18.3.2 系統功能結構

18.3.3 系統流程圖

18.3.4 資料夾組織結構

18.4 系統預覽

18.5 資料庫設計

18.5.1 資料庫分析

18.5.2 資料庫概念設計

18.5.3 資料庫邏輯結構

18.6 公共模組設計

18.6.1 資料庫連線及操作類的編寫

18.6.2 字元串處理類的編寫

18.6.3 配置解決中文亂碼的過濾器

18.7 主界面設計

18.7.1 主界面概述

18.7.2 主界面技術分析

18.7.3 主界面的實現過程

18.8 管理員模組設計

18.8.1 管理員模組概述

18.8.2 管理員模組技術分析

18.8.3 系統登錄的實現過程

18.8.4 查看管理員的實現過程

18.8.5 添加管理員的實現過程

18.8.6 設定管理員許可權的實現過程

18.8.7 刪除管理員的實現過程

18.8.8 單元測試

18.9 圖書借還模組設計

18.9.1 圖書借還模組概述

18.9.2 圖書借還模組技術分析

18.9.3 圖書借閱的實現過程

18.9.4 圖書續借的實現過程

18.9.5 圖書歸還的實現過程

18.9.6 圖書借閱查詢的實現過程

18.9.7 單元測試

18.10 開發問題解析

18.10.1 如何自動計算圖書歸還日期

18.10.2 如何對圖書借閱信息進行統計排行

18.11 小結

第19章 C語言與MySQL資料庫——圖書管理系統

視頻講解:52分鐘

19.1 需求分析

19.2 系統設計

19.2.1 系統目標

19.2.2 系統功能結構

19.2.3 系統預覽

19.2.4 開發及運行環境

19.3 資料庫設計

19.3.1 安裝MySQL資料庫

19.3.2 啟動MySQL資料庫

19.3.3 創建資料庫

19.3.4 數據表結構

19.4 C語言開發資料庫程式的流程

19.4.1 在C語言中引入如下頭檔案

19.4.2 引入庫函式

19.5 資料庫管理模組設計

19.5.1 MySQL常用資料庫操作函式

19.5.2 連線MySQL資料庫

19.5.3 查詢圖書表記錄

19.5.4 插入圖書表記錄

19.5.5 修改圖書表記錄

19.5.6 刪除圖書表記錄

19.6 檔案引用

19.7 變數和函式定義

19.8 管理模組設計

19.8.1 顯示主選單信息

19.8.2 顯示所有圖書信息

19.8.3 添加圖書信息

19.8.4 修改圖書信息

19.8.5 刪除圖書信息

19.8.6 查詢圖書信息

19.9 小結

相關詞條

相關搜尋

熱門詞條

聯絡我們