內容簡介
《MySQL從入門到精通》從初學者角度出發,通過通俗易懂的語言以及豐富多彩的實例,詳細介紹了MySQL開發應該掌握的各方面技術。《MySQL從入門到精通》共分為4篇23章,包括資料庫基礎,初識MySQL,使用MySQL圖形化管理工具,資料庫操作,存儲引擎及數據類型,運算元據表,MySQL基礎,表數據的增、刪、改操作,數據查詢,常用函式,索引,視圖,數據完整性約束,存儲過程與存儲函式,觸發器,事務的套用,事件,備份與恢復,MySQL性能最佳化,許可權管理及安全控制,PHP管理MySQL資料庫中的數據,Apache PHP MySQL實現網上社區,Struts 2 Spring Hibernate MySQL實現網路商城等內容。所有知識都結合具體實例進行介紹,涉及的程式代碼也給出了詳細的注釋,可以使讀者輕鬆領會MySQL的精髓,快速提高開發技能。 《MySQL從入門到精通》內容詳盡,實例豐富,非常適合作為編程初學者的學習用書,也適合作為開發人員的查閱、參考資料。
圖書目錄
第1篇 基 礎知 識
第1章 資料庫基礎
視頻講解:25分鐘
1.1 資料庫系統概述
1.1.1 資料庫技術的發展
1.1.2 資料庫系統的組成
1.2 數據模型
1.2.1 數據模型的概念
1.2.2 常見的數據模型
1.2.3 關係資料庫的規範化
1.2.4 關係資料庫的設計原則
1.2.5 實體與關係
1.3 資料庫的體系結構
1.3.1 資料庫三級模式結構
1.3.2 三級模式之間的映射
1.4 小結
1.5 實踐與練習
第2章 初識MySQL
視頻講解:12分鐘
2.1 了解MySQL
2.1.1 MySQL資料庫的概念
2.1.2 MySQL的優勢
2.1.3 MySQL的發展史
2.2 MySQL的特性
2.3 MySQL的套用環境
2.4 MySQL伺服器的安裝和配置
2.4.1 MySQL伺服器下載
2.4.2 MySQL伺服器安裝
2.4.3 啟動、連線、斷開和停止MySQL伺服器
2.4.4 打開MySQL5.6 Command Line Client
2.5 如何學好MySQL
2.6 小結
2.7 實踐與練習
第3章 使用MySQL圖形化管理工具
視頻講解:25分鐘
3.1 MySQL Workbench圖形化管理工具
3.1.1 了解MySQLWorkbench
3.1.2 創建資料庫和數據表
3.1.3 添加數據
3.1.4 數據的導出和導入
3.2 phpMyAdmin圖形化管理工具
3.2.1 配置phpMyAdmin
3.2.2 資料庫操作管理
3.2.3 管理數據表
3.2.4 管理數據記錄
3.2.5 導出導入數據
3.2.6 phpMyAdmin設定編碼格式
3.2.7 phpMyAdmin添加伺服器新用戶
3.2.8 phpMyAdmin中重置MySQL伺服器登錄密碼
3.3 小結
3.4 實踐與練習
第4章 資料庫操作
視頻講解:6分鐘
4.1 認識資料庫
4.1.1 資料庫基本概念
4.1.2 資料庫常用對象
4.1.3 系統資料庫
4.2 創建資料庫
4.2.1 通過CREATEDATABASE語句創建基本資料庫
4.2.2 通過CREATESCHEMA語句創建基本資料庫
4.2.3 創建指定字元集的資料庫
4.2.4 創建資料庫前判斷是否存在同名資料庫
4.3 查看資料庫
4.4 選擇資料庫
4.5 修改資料庫
4.6 刪除資料庫
4.7 小結
4.8 實踐與練習
第5章 存儲引擎及數據類型
視頻講解:12分鐘
5.1 MySQL存儲引擎
5.1.1 MySQL存儲引擎的概念
5.1.2 查詢MySQL中支持的存儲引擎
5.1.3 InnoDB存儲引擎
5.1.4 MyISAM存儲引擎
5.1.5 MEMORY存儲引擎
5.1.6 如何選擇存儲引擎
5.1.7 設定數據表的存儲引擎
5.2 MySQL數據類型
5.2.1 數字類型
5.2.2 字元串類型
5.2.3 日期和時間類型
5.3 小結
5.4 實踐與練習
第6章 運算元據表
視頻講解:12分鐘
6.1 創建數據表
6.2 查看錶結構
6.2.1 使用SHOWCOLUMNS語句查看
6.2.2 使用DESCRIBE語句查看
6.3 修改表結構
6.3.1 添加新欄位及修改欄位定義
6.3.2 修改欄位名
6.3.3 刪除欄位
6.3.4 修改表名
6.4 重命名表
6.5 複製表
6.6 刪除表
6.7 小結
6.8 實踐與練習
第2篇 核 心技 術
第7章 MySQL基礎
視頻講解:24分鐘
7.1 運算符
7.1.1 算術運算符
7.1.2 比較運算符
7.1.3 邏輯運算符
7.1.4 位運算符
7.1.5 運算符的優先權
7.2 流程控制語句
7.2.1 IF語句
7.2.2 CASE語句
7.2.3 WHILE循環語句
7.2.4 LOOP循環語句
7.2.5 REPEAT循環語句
7.3 小結
7.4 實踐與練習
第8章 表數據的增、刪、改操作
視頻講解:20分鐘
8.1 插入數據
8.1.1 使用INSERT...VALUES語句插入數據
8.1.2 使用INSERT...SET語句插入數據
8.1.3 插入查詢結果
8.2 修改數據
8.3 刪除數據
8.3.1 通過DELETE語句刪除數據
8.3.2 通過TRUNCATETABLE語句刪除數據
8.4 小結
8.5 實踐與練習
第9章 數據查詢
視頻講解:52分鐘
9.1 基本查詢語句
9.2 單表查詢
9.2.1 查詢所有欄位
9.2.2 查詢指定欄位
9.2.3 查詢指定數據
9.2.4 帶關鍵字IN的查詢
9.2.5 帶關鍵字BETWEENAND的範圍查詢
9.2.6 帶LIKE的字元匹配查詢
9.2.7 用關鍵字ISNULL查詢空值
9.2.8 帶關鍵字AND的多條件查詢
9.2.9 帶關鍵字OR的多條件查詢
9.2.10 用關鍵字DISTINCT去除結果中的重複行
9.2.11 用關鍵字ORDERBY對查詢結果排序
9.2.12 用關鍵字GROUPBY分組查詢
9.2.13 用關鍵字LIMIT限制查詢結果的數量
9.3 聚合函式查詢
9.3.1 COUNT()函式
9.3.2 SUM()函式
9.3.3 AVG()函式
9.3.4 MAX()函式
9.3.5 MIN()函式
9.4 連線查詢
9.4.1 內連線查詢
9.4.2 外連線查詢
9.4.3 複合條件連線查詢
9.5 子查詢
9.5.1 帶關鍵字IN的子查詢
9.5.2 帶比較運算符的子查詢
9.5.3 帶關鍵字EXISTS的子查詢
9.5.4 帶關鍵字ANY的子查詢
9.5.5 帶關鍵字ALL的子查詢
9.6 合併查詢結果
9.7 定義表和欄位的別名
9.7.1 為表取別名
9.7.2 為欄位取別名
9.8 使用正則表達式查詢
9.8.1 匹配指定字元中的任意一個
9.8.2 使用“*”和“ ”來匹配多個字元
9.8.3 匹配以指定的字元開頭和結束的記錄
9.9 小結
9.10 實踐與練習
第10章 常用函式
視頻講解:36分鐘
10.1 MySQL函式
10.2 數學函式
10.2.1 ABS(x)函式
10.2.2 FLOOR(x)函式
10.2.3 RAND()函式
10.2.4 PI()函式
10.2.5 TRUNCATE(x,y)函式
10.2.6 ROUND(x)函式和ROUND(x,y)函式
10.2.7 SQRT(x)函式
10.3 字元串函式
10.3.1 INSERT(s1,x,len,s2)函式
10.3.2 UPPER(s)函式和UCASE(s)函式
10.3.3 LEFT(s,n)函式
10.3.4 RTRIM(s)函式
10.3.5 SUBSTRING(s,n,len)函式
10.3.6 REVERSE(s)函式
10.3.7 FIELD(s,s1,s2,…)函式
10.3.8 LOCATE(s1,s)函式、POSITION(s1 IN s)函式和INSTR(s,s1)函式
10.4 日期和時間函式
10.4.1 CURDATE()函式和CURRENT_DATE()函式
10.4.2 CURTIME()函式和CURRENT_TIME()函式
10.4.3 NOW()函式
10.4.4 DATEDIFF(d1,d2)函式
10.4.5 ADDDATE(d,n)函式
10.4.6 ADDDATE(d,INTERVAL expr type)函式
10.4.7 SUBDATE(d,n)函式
10.5 條件判斷函式
10.6 系統信息函式
10.6.1 獲取MySQL版本號、連線數和資料庫名的函式
10.6.2 獲取用戶名的函式
10.6.3 獲取字元串的字元集和排序方式的函式
10.7 加密函式
10.7.1 加密函式PASSWORD(str)
10.7.2 加密函式MD5(str)
10.8 其他函式
10.8.1 格式化函式FORMAT(x,n)
10.8.2 改變字元集的函式
10.8.3 改變欄位數據類型的函式
10.9 小結
10.10 實踐與練習
第11章 索引
視頻講解:22分鐘
11.1 索引概述
11.1.1 MySQL索引概述
11.1.2 MySQL索引分類
11.2 創建索引
11.2.1 在建立數據表時創建索引
11.2.2 在已建立的數據表中創建索引
11.2.3 修改數據表結構添加索引
11.3 刪除索引
11.4 小結
11.5 實踐與練習
第12章 視圖
視頻講解:22分鐘
12.1 視圖概述
12.1.1 視圖的概念
12.1.2 視圖的作用
12.2 創建視圖
12.2.1 查看創建視圖的許可權
12.2.2 創建視圖的步驟
12.2.3 創建視圖的注意事項
12.3 視圖操作
12.3.1 查看視圖
12.3.2 修改視圖
12.3.3 更新視圖
12.3.4 刪除視圖
12.4 小結
12.5 實踐與練習
第3篇 高 級應 用
第13章 數據完整性約束
13.1 定義完整性約束
13.1.1 實體完整性
13.1.2 參照完整性
13.1.3 用戶定義完整性
13.2 命名完整性約束
13.3 更新完整性約束
13.3.1 刪除完整性約束
13.3.2 修改完整性約束
13.4 小結
13.5 實踐與練習
第14章 存儲過程與存儲函式
視頻講解:22分鐘
14.1 創建存儲過程和存儲函式
14.1.1 創建存儲過程
14.1.2 創建存儲函式
14.1.3 變數的套用
14.1.4 游標的運用
14.2 存儲過程和存儲函式的調用
14.2.1 調用存儲過程
14.2.2 調用存儲函式
14.3 查看存儲過程和存儲函式
14.3.1 SHOW STATUS語句
14.3.2 SHOW CREATE語句
14.4 修改存儲過程和存儲函式
14.5 刪除存儲過程和存儲函式
14.6 小結
14.7 實踐與練習
第15章 觸發器
視頻講解:22分鐘
15.1 MySQL觸發器
15.1.1 創建MySQL觸發器
15.1.2 創建具有多條執行語句的觸發器
15.2 查看觸發器
15.2.1 SHOW TRIGGERS
15.2.2 查看triggers表中觸發器信息
15.3 使用觸發器
15.4 刪除觸發器
15.5 小結
15.6 實踐與練習
第16章 事務的套用
視頻講解:15分鐘
16.1 MySQL事務概述
16.1.1 原子性
16.1.2 一致性
16.1.3 孤立性
16.1.4 持久性
16.2 MySQL事務的創建與存在周期
16.2.1 初始化事務
16.2.2 創建事務
16.2.3 套用SELECT語句查詢數據是否被正確錄入
16.2.4 提交事務
16.2.5 撤銷事務(事務回滾)
16.2.6 事務的存在周期
16.3 MySQL事務行為
16.3.1 自動提交
16.3.2 事務的孤立級
16.3.3 修改事務的孤立級
16.4 事務的性能
16.4.1 套用小事務
16.4.2 選擇合適的孤立級
16.4.3 死鎖的概念與避免
16.5 MySQL偽事務
16.5.1 用表鎖定代替事務
16.5.2 套用表鎖實現偽事務
16.6 小結
16.7 實踐與練習
第17章 事件
17.1 事件概述
17.1.1 查看事件是否開啟
17.1.2 開啟事件
17.2 創建事件
17.3 修改事件
17.4 刪除事件
17.5 小結
17.6 實踐與練習
第18章 備份與恢復
視頻講解:3分鐘
18.1 數據備份
18.1.1 使用mysqldump命令備份
18.1.2 直接複製整個資料庫目錄
18.1.3 使用mysqlhotcopy工具快速備份
18.2 數據恢復
18.2.1 使用mysql命令還原
18.2.2 直接複製到資料庫目錄
18.3 資料庫遷移
18.3.1 相同版本的MySQL資料庫之間的遷移
18.3.2 不同資料庫之間的遷移
18.4 表的導出和導入
18.4.1 用SELECT...INTO OUTFILE導出文本檔案
18.4.2 用mysqldump命令導出文本檔案
18.4.3 用mysql命令導出文本檔案
18.4.4 用LOADDATA INFILE命令將文本檔案導入到數據表
18.4.5 用mysqlimport命令導入文本檔案
18.5 小結
18.6 實踐與練習
第19章 MySQL性能最佳化
視頻講解:10分鐘
19.1 最佳化概述
19.2 最佳化查詢
19.2.1 分析查詢語句
19.2.2 索引對查詢速度的影響
19.2.3 使用索引查詢
19.3 最佳化資料庫結構
19.3.1 將欄位很多的表分解成多個表
19.3.2 增加中間表
19.3.3 最佳化插入記錄的速度
19.3.4 分析表、檢查表和最佳化表
19.4 查詢高速快取
19.4.1 檢驗高速快取是否開啟
19.4.2 使用高速快取
19.5 最佳化多表查詢
19.6 最佳化表設計
19.7 小結
19.8 實踐與練習
第20章 許可權管理及安全控制
視頻講解:10分鐘
20.1 安全保護策略概述
20.2 用戶和許可權管理
20.2.1 使用CREATEUSER命令創建用戶
20.2.2 使用DROPUSER命令刪除用戶
20.2.3 使用RENAMEUSER命令重命名用戶
20.2.4 GRANT和REVOKE命令
20.3 MySQL資料庫安全常見問題
20.3.1 許可權更改何時生效
20.3.2 設定賬戶密碼
20.3.3 使密碼更安全
20.4 狀態檔案和日誌檔案
20.4.1 進程ID檔案
20.4.2 日誌檔案管理
20.5 小結
20.6 實踐與練習
第21章 PHP管理MySQL資料庫中的數據
視頻講解:22分鐘
21.1 PHP語言概述
21.1.1 PHP的概念
21.1.2 PHP的特點
21.1.3 PHP的工作原理
21.1.4 PHP結合資料庫套用的優勢
21.2 PHP操作MySQL資料庫的基本步驟
21.3 使用PHP操作MySQL資料庫
21.3.1 套用mysql_connect()函式連線MySQL伺服器
21.3.2 套用mysql_select_db()函式選擇MySQL資料庫
21.3.3 套用mysql_query()函式執行SQL語句
21.3.4 套用mysql_fetch_array()函式將結果集返回到數組中
21.3.5 套用mysql_fetch_object()函式從結果集中獲取一行作為對象
21.3.6 套用mysql_fetch_row()函式從結果集中獲取一行作為枚舉數組
21.3.7 套用mysql_num_rows()函式獲取查詢結果集中的記錄數
21.3.8 套用mysql_free_result()函式釋放記憶體
21.3.9 套用mysql_close()函式關閉連線
21.4 PHP管理MySQL資料庫中的數據
21.4.1 向資料庫中添加數據
21.4.2 瀏覽資料庫中的數據
21.4.3 編輯資料庫數據
21.4.4 刪除數據
21.4.5 批量刪除數據
21.5 PHP操作MySQL事務
21.6 PHP操作MySQL存儲過程
21.7 常見問題與解決方法
21.7.1 MySQL伺服器無法連線
21.7.2 用戶無許可權訪問MySQL伺服器
21.7.3 提示mysql_connect函式未定義
21.7.4 SQL語句出錯或沒有返回正確的結果
21.7.5 資料庫亂碼問題
21.7.6 套用MYSQL_ERROR()語句輸出錯誤信息
21.8 小結
21.9 實踐與練習
第4篇 項 目實 戰
第22章 Apache PHP MySQL實現網上社區
22.1 開發背景
22.2 系統分析
22.2.1 需求分析
22.2.2 可行性分析
22.3 系統設計
22.3.1 系統目標
22.3.2 系統功能結構
22.3.3 系統預覽
22.3.4 開發環境
22.3.5 資料夾組織結構
22.4 在Linux作業系統下搭建PHP開發環境
22.4.1 Linux下Apache的安裝配置
22.4.2 Linux下MySQL的安裝配置
22.4.3 Linux下PHP的安裝配置
22.5 資料庫設計
22.5.1 資料庫分析
22.5.2 資料庫概念設計
22.5.3 創建資料庫及數據表
22.6 公共模組設計
22.6.1 資料庫連線檔案
22.6.2 將文本中的字元轉換為HTML標識符
22.7 前台首頁設計
22.7.1 前台首頁概述
22.7.2 前台首頁技術分析
22.7.3 前台首頁的實現過程
22.8 註冊模組設計
22.8.1 註冊模組概述
22.8.2 註冊模組技術分析
22.8.3 註冊模組的實現過程
22.9 技術支持模組設計
22.9.1 技術支持模組概述
22.9.2 技術支持模組技術分析
22.9.3 常見問題的實現過程
22.9.4 客戶反饋的實現過程
22.10 線上訂購模組設計
22.10.1 線上訂購模組概述
22.10.2 線上訂購模組技術分析
22.10.3 購物車的實現過程
22.10.4 商品訂單的實現過程
22.10.5 線上支付的實現
22.11 社區論壇模組設計
22.11.1 社區論壇模組概述
22.11.2 社區論壇模組技術分析
22.11.3 論壇分類的實現過程
22.11.4 論壇帖子瀏覽的實現過程
22.11.5 論壇帖子發布的實現過程
22.11.6 論壇帖子回復的實現過程
22.12 後台首頁設計
22.12.1 後台首頁概述
22.12.2 後台首頁技術分析
22.12.3 後台首頁的實現過程
22.13 編程詞典管理模組設計
22.13.1 編程詞典管理模組概述
22.13.2 編程詞典管理模組技術分析
22.13.3 添加編程詞典的實現過程
22.13.4 編輯編程詞典的實現過程
22.14 軟體升級管理模組設計
22.14.1 軟體升級管理模組概述
22.14.2 軟體升級管理模組技術分析
22.14.3 軟體升級包上傳的實現過程
22.14.4 軟體升級包刪除的實現過程
22.15 在Linux系統下發布網站
22.16 開發技巧與難點分析
22.16.1 管理員許可權的設定
22.16.2 帖子置頂的設定
22.16.3 解決提示“客戶反饋發表失敗!”的問題
22.16.4 解決指定商品沒有被刪除的問題
22.16.5 解決發帖和回帖時上傳的圖片不能夠正常顯示的問題
22.17 小結
第23章 Struts 2 Spring Hibernate MySQL實現網路商城
23.1 開發背景
23.2 系統分析
23.2.1 需求分析
23.2.2 可行性分析
23.3 系統設計
23.3.1 功能結構圖
23.3.2 系統流程圖
23.3.3 開發環境
23.3.4 資料夾組織結構
23.3.5 系統預覽
23.4 資料庫設計
23.4.1 資料庫概念設計
23.4.2 創建資料庫及數據表
23.5 公共模組的設計
23.5.1 泛型工具類
23.5.2 數據持久化類
23.5.3 分頁操作
23.5.4 字元串工具類
23.5.5 實體映射
23.6 項目環境搭建
23.6.1 配置Struts2
23.6.2 配置Hibernate
23.6.3 配置Spring
23.6.4 配置web.xml
23.7 登錄註冊模組設計
23.7.1 模組概述
23.7.2 註冊模組的實現
23.8 前台商品信息查詢模組設計
23.8.1 模組概述
23.8.2 前台商品信息查詢模組技術分析
23.8.3 商品搜尋的實現
23.8.4 前台商品其他查詢的實現
23.9 購物車模組設計
23.9.1 模組概述
23.9.2 購物車模組技術分析
23.9.3 購物車基本功能的實現
23.9.4 訂單相關功能的實現
23.10 後台商品管理模組設計
23.10.1 模組概述
23.10.2 後台商品管理模組技術分析
23.10.3 商品管理功能的實現
23.10.4 商品類別管理功能的實現
23.11 後台訂單管理模組的設計
23.11.1 模組概述
23.11.2 後台訂單管理模組技術分析
23.11.3 後台訂單查詢的實現
23.12 開發技巧與難點分析
23.12.1 解決訂單號為空時查詢報錯
23.12.2 通過Struts2的攔截器來解決Session逾時出現空指針異常的問題
23.13 小結
作者簡介
明日科技,是一家專業從事軟體開發、教育培訓以及軟體開發教育資源整合的高科技公司,其編寫的教材既注重選取軟體開發中的必需、常用內容,又注重內容的易學、方便以及相關知識的拓展,深受讀者喜愛。其編寫的圖書主要有“軟體開發視頻大講堂”“軟體開發實戰1200例”“軟體工程師開發大系”等系列。多次榮獲“全行業優秀暢銷品種”“中國大學出版社優秀暢銷書”等獎項,多個品種長期位居同類圖書銷售排行榜的前列。