第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.1MySQL數據庫的概念
2.1.2MySQL的優勢
2.1.3MySQL的發展史
2.2MySQL的特性
2.3MySQL的應用環境
2.4MySQL服務器的安裝和配置
2.4.1MySQL服務器下載
2.4.2MySQL服務器安裝
2.4.3啟動、連接、斷開和停止MySQL服務器
2.4.4打開MySQL5.6CommandLineClient
2.5如何學好MySQL
2.6小結
2.7實踐與練習
第3章使用MySQL圖形化管理工具
視頻講解:25分鐘
3.1MySQLWorkbench圖形化管理工具
3.1.1了解MySQLWorkbench
3.1.2創建數據庫和數據表
3.1.3添加數據
3.1.4數據的導出和導入
3.2phpMyAdmin圖形化管理工具
3.2.1配置phpMyAdmin
3.2.2數據庫操作管理
3.2.3管理數據表
3.2.4管理數據記錄
3.2.5導出導入數據
3.2.6phpMyAdmin設置編碼格式
3.2.7phpMyAdmin添加服務器新用戶
3.2.8phpMyAdmin中重置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.1MySQL存儲引擎
5.1.1MySQL存儲引擎的概念
5.1.2查詢MySQL中支持的存儲引擎
5.1.3InnoDB存儲引擎
5.1.4MyISAM存儲引擎
5.1.5MEMORY存儲引擎
5.1.6如何選擇存儲引擎
5.1.7設置數據表的存儲引擎
5.2MySQL數據類型
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.1IF語句
7.2.2CASE語句
7.2.3WHILE循環語句
7.2.4LOOP循環語句
7.2.5REPEAT循環語句
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.1COUNT()函數
9.3.2SUM()函數
9.3.3AVG()函數
9.3.4MAX()函數
9.3.5MIN()函數
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.1MySQL函數
10.2數學函數
10.2.1ABS(x)函數
10.2.2FLOOR(x)函數
10.2.3RAND()函數
10.2.4PI()函數
10.2.5TRUNCATE(x,y)函數
10.2.6ROUND(x)函數和ROUND(x,y)函數
10.2.7SQRT(x)函數
10.3字符串函數
10.3.1INSERT(s1,x,len,s2)函數
10.3.2UPPER(s)函數和UCASE(s)函數
10.3.3LEFT(s,n)函數
10.3.4RTRIM(s)函數
10.3.5SUBSTRING(s,n,len)函數
10.3.6REVERSE(s)函數
10.3.7FIELD(s,s1,s2,…)函數
10.3.8LOCATE(s1,s)函數、POSITION(s1INs)函數和INSTR(s,s1)函數
10.4日期和時間函數
10.4.1CURDATE()函數和CURRENT_DATE()函數
10.4.2CURTIME()函數和CURRENT_TIME()函數
10.4.3NOW()函數
10.4.4DATEDIFF(d1,d2)函數
10.4.5ADDDATE(d,n)函數
10.4.6ADDDATE(d,INTERVALexprtype)函數
10.4.7SUBDATE(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.1MySQL索引概述
11.1.2MySQL索引分類
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.1SHOWSTATUS語句
14.3.2SHOWCREATE語句
14.4修改存儲過程和存儲函數
14.5刪除存儲過程和存儲函數
14.6小結
14.7實踐與練習
第15章觸發器
視頻講解:22分鐘
15.1MySQL觸發器
15.1.1創建MySQL觸發器
15.1.2創建具有多條執行語句的觸發器
15.2查看觸發器
15.2.1SHOWTRIGGERS
15.2.2查看triggers表中觸發器信息
15.3使用觸發器
15.4刪除觸發器
15.5小結
15.6實踐與練習
第16章事務的應用
視頻講解:15分鐘
16.1MySQL事務概述
16.1.1原子性
16.1.2一致性
16.1.3孤立性
16.1.4持久性
16.2MySQL事務的創建與存在周期
16.2.1初始化事務
16.2.2創建事務
16.2.3應用SELECT語句查詢數據是否被正確錄入
16.2.4提交事務
16.2.5撤銷事務(事務回滾)
16.2.6事務的存在周期
16.3MySQL事務行為
16.3.1自動提交
16.3.2事務的孤立級
16.3.3修改事務的孤立級
16.4事務的性能
16.4.1應用小事務
16.4.2選擇合適的孤立級
16.4.3死鎖的概念與避免
16.5MySQL偽事務
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...INTOOUTFILE導出文本文件
18.4.2用mysqldump命令導出文本文件
18.4.3用mysql命令導出文本文件
18.4.4用LOADDATAINFILE命令將文本文件導入到數據表
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.4GRANT和REVOKE命令
20.3MySQL數據庫安全常見問題
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.1PHP語言概述
21.1.1PHP的概念
21.1.2PHP的特點
21.1.3PHP的工作原理
21.1.4PHP結合數據庫應用的優勢
21.2PHP操作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.4PHP管理MySQL數據庫中的數據
21.4.1向數據庫中添加數據
21.4.2瀏覽數據庫中的數據
21.4.3編輯數據庫數據
21.4.4刪除數據
21.4.5批量刪除數據
21.5PHP操作MySQL事務
21.6PHP操作MySQL存儲過程
21.7常見問題與解決方法
21.7.1MySQL服務器無法連接
21.7.2用戶無權限訪問MySQL服務器
21.7.3提示mysql_connect函數未定義
21.7.4SQL語句出錯或沒有返回正確的結果
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.1Linux下Apache的安裝配置
22.4.2Linux下MySQL的安裝配置
22.4.3Linux下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章Struts2+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小結