關(guān)于我們
書單推薦
新書推薦
|
MySQL快速入門到精通 讀者對象:本書適用于編程愛好者
本書介紹了使用MySQL進行數(shù)據(jù)庫管理的必備知識。全書共24章,主要分為三篇,其中基礎篇包括初識MySQL,數(shù)據(jù)庫操作,MySQL表結(jié)構(gòu)管理,表數(shù)據(jù)的增、刪、改操作,簡單數(shù)據(jù)查詢等;實戰(zhàn)篇包括各種編程語言連接MySQL數(shù)據(jù)庫、操作數(shù)據(jù)表、數(shù)據(jù)查詢、數(shù)據(jù)匯總、多表查詢的應用、處理重復數(shù)據(jù);強化篇包括Python+MySQL實現(xiàn)在線學習筆記、Struts 2+Spring+Hibemate+MySQL實現(xiàn)網(wǎng)絡商城。
目前,講解MySQL數(shù)據(jù)庫技術(shù)的書籍有很多,但是真正從初學者的角度出發(fā),把技術(shù)及應用講解透徹的并不是很多。本書從初學者的角度出發(fā),為想要學習MySQL數(shù)據(jù)庫、想要進行數(shù)據(jù)庫開發(fā)的初中級開發(fā)人員、編程愛好者、大學師生精心策劃,所講內(nèi)容從技術(shù)應用的角度出發(fā),結(jié)合實際應用進行講解。本書側(cè)重MySQL數(shù)據(jù)庫的編程基礎與實踐,為保證讀者學以致用,在實踐方面循序漸進地進行3個層次的篇章介紹:基礎篇、實戰(zhàn)篇和強化篇。
本書內(nèi)容 全書共分為24章,主要通過“基礎篇(16章) 實戰(zhàn)篇(6章) 強化篇(2章)”3大維度一體化的講解方式,具體的學習結(jié)構(gòu)如下圖所示。 本書特色 1.突出重點、學以致用 書中每個知識點都結(jié)合了簡單易懂的示例代碼以及非常詳細的注釋信息,力求使讀者能夠快速理解所學知識,提升學習效率,縮短學習路徑。 2.提升思維、綜合運用 本書以知識點綜合運用的方式,帶領讀者制作各種趣味性較強的應用案例,使讀者不斷提升編寫MySQL數(shù)據(jù)庫的思維,還可以快速提升對知識點的綜合運用能力,使讀者能夠回顧以往所學的知識點,并結(jié)合新的知識點進行綜合應用。 3.綜合技術(shù)、實際項目 本書在強化篇中提供了兩個貼近實際應用的項目,力求通過實際應用使讀者更容易地掌握MySQL技術(shù)與對應業(yè)務的需求。兩個項目都是根據(jù)實際開發(fā)經(jīng)驗總結(jié)而來,包含了在實際開發(fā)中所遇到的各種問題。項目結(jié)構(gòu)清晰、擴展性強,讀者可根據(jù)個人需求進行擴展開發(fā)。 4.精彩欄目、貼心提示 本書根據(jù)實際學習的需要,設置了“注意”“說明”等許多貼心的小欄目,輔助讀者輕松理解所學知識,規(guī)避編程陷阱。 本書讀者對象 √編程愛好者 √參加畢業(yè)設計的學生 √相關(guān)培訓機構(gòu)的老師和學生 √大中專院校的老師和學生 √各階段程序開發(fā)人員 √需要進行查閱和參考資料的開發(fā)人員 讀者服務 為方便解決讀者在學習本書過程中遇到的疑難問題及獲取更多圖書配套資源,我們在明日學院網(wǎng)站提供了社區(qū)服務和配套學習服務支持。此外,我們還提供了質(zhì)量反饋信箱及售后服務電話等,如圖書有質(zhì)量問題,可以及時聯(lián)系我們,我們將竭誠為您服務。 √質(zhì)量反饋信箱:mingrisoft@mingrisoft.com √售后服務電話:4006751066 √售后服務QQ群:162973740 √微信公眾號:明日IT部落 致讀者 本書由明日科技的.NET開發(fā)團隊策劃并組織編寫,主要編寫人員有周佳星、王小科、張鑫、劉書娟、何平、趙寧、李磊、王國輝、高春艷、賽奎春、葛忠月、宋萬勇、楊麗、劉媛媛、依瑩瑩等。在編寫本書的過程中,我們本著科學、嚴謹?shù)膽B(tài)度,力求精益求精,但疏漏之處在所難免,敬請廣大讀者批評斧正。 感謝您閱讀本書,希望本書能成為您編程路上的領航者。 祝您讀書快樂! 編著者
第1篇 基礎篇001
第1章 初識MySQL 002 1.1 了解MySQL 002 1.2 MySQL 8.0的新特性 003 1.3 MySQL服務器的安裝與配置 004 1.3.1 MySQL下載 005 1.3.2 MySQL環(huán)境安裝 007 1.3.3 啟動、連接、斷開和停止MySQL服務器 015 第2章 數(shù)據(jù)庫操作 020 2.1 認識數(shù)據(jù)庫 020 2.1.1 數(shù)據(jù)庫基本概念 020 2.1.2 數(shù)據(jù)庫常用對象 021 2.1.3 系統(tǒng)數(shù)據(jù)庫 022 2.2 創(chuàng)建數(shù)據(jù)庫 022 2.3 查看數(shù)據(jù)庫 025 2.4 選擇數(shù)據(jù)庫 026 2.5 修改數(shù)據(jù)庫 026 2.6 刪除數(shù)據(jù)庫 027 2.7 數(shù)據(jù)庫存儲引擎的應用 028 2.7.1 查詢MySQL中支持的存儲引擎 029 2.7.2 InnoDB存儲引擎 030 2.7.3 MyISAM存儲引擎 031 2.7.4 MEMORY存儲引擎 032 2.7.5 如何選擇存儲引擎 032 2.8 綜合案例——創(chuàng)建測試數(shù)據(jù)庫 033 第3章 MySQL表結(jié)構(gòu)管理 035 3.1 MySQL數(shù)據(jù)類型 035 3.1.1 數(shù)字類型 035 3.1.2 字符串類型 036 3.1.3 日期和時間類型 037 3.2 創(chuàng)建表 037 3.3 修改表結(jié)構(gòu) 039 3.3.1 添加新字段及修改字段定義 039 3.3.2 修改字段名 040 3.3.3 刪除字段 040 3.3.4 修改表名 040 3.4 刪除表 041 3.5 綜合案例 042 3.6 實戰(zhàn)練習 043 第4章 表數(shù)據(jù)的增、刪、改操作 044 4.1 插入表記錄 044 4.1.1 使用INSERT語句插入數(shù)據(jù) 044 4.1.2 插入完整數(shù)據(jù) 045 4.1.3 插入數(shù)據(jù)記錄的一部分 046 4.1.4 插入多條記錄 046 4.1.5 使用INSERT…SET語句插入數(shù)據(jù) 047 4.2 修改表記錄 048 4.3 刪除表記錄 049 4.3.1 通過DELETE語句刪除數(shù)據(jù) 049 4.3.2 通過TRUNCATE TABLE語句刪除數(shù)據(jù) 051 4.4 綜合案例 051 4.5 實戰(zhàn)練習 052 第5章 簡單數(shù)據(jù)查詢 054 5.1 基本查詢語句 054 5.2 單 表 查 詢 056 5.2.1 查詢所有字段 056 5.2.2 查詢指定字段 056 5.2.3 查詢指定數(shù)據(jù) 057 5.2.4 帶關(guān)鍵字IN的范圍查詢 058 5.2.5 帶關(guān)鍵字BETWEEN AND的范圍查詢 058 5.2.6 模糊查詢 059 5.2.7 查詢空值 059 5.2.8 帶AND的多條件查詢 060 5.2.9 帶OR的多條件查詢 061 5.2.10 去除結(jié)果中的重復行 061 5.2.11 對查詢結(jié)果排序 062 5.2.12 分組查詢 063 5.2.13 限制查詢結(jié)果的數(shù)量 064 5.3 聚合函數(shù)查詢 065 5.3.1 COUNT()函數(shù) 065 5.3.2 SUM()函數(shù) 066 5.3.3 AVG()函數(shù) 066 5.3.4 MAX()函數(shù) 067 5.3.5 MIN()函數(shù) 067 5.4 綜合案例 068 5.5 實戰(zhàn)練習 068 第6章 多表數(shù)據(jù)查詢 070 6.1 連接查詢 070 6.1.1 內(nèi)連接查詢 070 6.1.2 外連接查詢 071 6.2 子查詢 072 6.2.1 帶IN關(guān)鍵字的子查詢 073 6.2.2 帶比較運算符的子查詢 074 6.2.3 帶ANY關(guān)鍵字的子查詢 074 6.2.4 帶ALL關(guān)鍵字的子查詢 074 6.3 合并查詢結(jié)果 075 6.4 定義表和字段的別名 076 6.4.1 為表取別名 076 6.4.2 為字段取別名 077 6.5 使用正則表達式查詢 078 6.5.1 匹配指定字符中的任意一個 079 6.5.2 使用“*”和“ ”來匹配多個字符 079 6.6 綜合案例 079 6.7 實戰(zhàn)練習 080 第7章 常用函數(shù) 082 7.1 MySQL函數(shù) 082 7.2 數(shù)學函數(shù) 083 7.3 字符串函數(shù) 086 7.4 日期和時間函數(shù) 091 7.5 條件判斷函數(shù) 095 7.6 系統(tǒng)信息函數(shù) 096 7.7 其他函數(shù) 098 7.8 綜合案例 100 7.9 實戰(zhàn)練習 101 第8章 數(shù)據(jù)完整性約束 102 8.1 定義完整性約束 102 8.1.1 實體完整性 102 8.1.2 參照完整性 104 8.1.3 用戶定義完整性 107 8.2 命名完整性約束 109 8.3 更新完整性約束 110 8.3.1 修改完整性約束 110 8.3.2 刪除完整性約束 110 8.4 綜合案例 111 8.5 實戰(zhàn)練習 112 第9章 索引 113 9.1 索引概述 113 9.1.1 MySQL索引概述 113 9.1.2 MySQL索引分類 114 9.2 創(chuàng)建索引 114 9.2.1 在建立數(shù)據(jù)表時創(chuàng)建索引 114 9.2.2 在已建立的數(shù)據(jù)表中創(chuàng)建索引 119 9.2.3 修改數(shù)據(jù)表結(jié)構(gòu)添加索引 122 9.3 刪除索引 125 9.4 綜合案例 126 9.5 實戰(zhàn)練習 127 第10章 視圖 128 10.1 視圖概述 128 10.1.1 視圖的概念 128 10.1.2 視圖的作用 129 10.2 創(chuàng)建視圖 129 10.2.1 查看創(chuàng)建視圖的權(quán)限 129 10.2.2 在MySQL中創(chuàng)建視圖 130 10.2.3 創(chuàng)建視圖的注意事項 131 10.3 視圖操作 131 10.3.1 查看視圖 131 10.3.2 修改視圖 134 10.3.3 更新視圖 135 10.3.4 刪除視圖 137 10.4 綜合案例 138 10.5 實戰(zhàn)練習 138 第11章 存儲過程與存儲函數(shù) 139 11.1 創(chuàng)建存儲過程和存儲函數(shù) 139 11.1.1 創(chuàng)建存儲過程 139 11.1.2 創(chuàng)建存儲函數(shù) 141 11.2 存儲過程和存儲函數(shù)的調(diào)用 142 11.2.1 調(diào)用存儲過程 142 11.2.2 調(diào)用存儲函數(shù) 143 11.3 變量和光標的應用 143 11.3.1 變量的應用 143 11.3.2 光標的應用 145 11.4 查看存儲過程和存儲函數(shù) 147 11.4.1 SHOW STATUS語句 147 11.4.2 SHOW CREATE語句 147 11.5 修改存儲過程和存儲函數(shù) 148 11.6 刪除存儲過程和存儲函數(shù) 149 11.7 綜合案例 150 11.8 實戰(zhàn)練習 151 第12章 觸發(fā)器 153 12.1 MySQL觸發(fā)器 153 12.1.1 創(chuàng)建MySQL觸發(fā)器 153 12.1.2 創(chuàng)建具有多條執(zhí)行語句的觸發(fā)器 154 12.2 查看觸發(fā)器 156 12.2.1 SHOW TRIGGERS 156 12.2.2 查看triggers表中觸發(fā)器信息 156 12.3 使用觸發(fā)器 158 12.3.1 觸發(fā)器的執(zhí)行順序 158 12.3.2 使用觸發(fā)器維護冗余數(shù)據(jù) 159 12.4 刪除觸發(fā)器 160 12.5 綜合案例 161 12.6 實戰(zhàn)練習 162 第13章 事務處理與鎖 163 13.1 事務處理 163 13.1.1 事務的概念 163 13.1.2 事務處理的必要性 164 13.1.3 事務回滾 166 13.1.4 事務提交 167 13.1.5 MySQL中事務的應用 168 13.1.6 回退點 169 13.2 鎖 170 13.2.1 MySQL鎖的基本知識 170 13.2.2 表級鎖 171 13.2.3 行級鎖 175 13.2.4 什么是死鎖與如何避免死鎖 176 13.3 綜合案例 177 13.4 實戰(zhàn)練習 177 第14章 數(shù)據(jù)庫的備份與恢復 179 14.1 數(shù)據(jù)備份 179 14.1.1 使用mysqldump命令備份 179 14.1.2 直接復制整個數(shù)據(jù)庫目錄 182 14.1.3 使用mysqlhotcopy工具快速備份 183 14.2 數(shù)據(jù)恢復 183 14.2.1 使用mysql命令還原 183 14.2.2 直接復制到數(shù)據(jù)庫目錄 184 14.3 數(shù)據(jù)庫遷移 184 14.3.1 相同版本的MySQL數(shù)據(jù)庫之間的遷移 184 14.3.2 不同數(shù)據(jù)庫之間的遷移 185 14.4 表的導出和導入 185 14.4.1 用SELECT …INTO OUTFILE導出文本文件 186 14.4.2 用mysqldump命令導出文本文件 189 14.4.3 用mysql命令導出文本文件 192 14.5 綜合案例 193 14.6 實戰(zhàn)練習 194 第15章 MySQL優(yōu)化 196 15.1 優(yōu)化概述 196 15.2 優(yōu)化查詢 197 15.2.1 分析查詢語句 197 15.2.2 索引對查詢速度的影響 198 15.2.3 使用索引查詢 199 15.3 優(yōu)化數(shù)據(jù)庫結(jié)構(gòu) 200 15.3.1 將字段很多的表分解成多個表 200 15.3.2 增加中間表 201 15.3.3 優(yōu)化插入記錄的速度 202 15.3.4 分析表、檢查表和優(yōu)化表 202 15.4 查詢緩存 204 15.5 子查詢優(yōu)化多表查詢 204 15.6 優(yōu)化表設計 205 15.7 綜合案例 206 15.8 實戰(zhàn)練習 207 第16章 用戶和權(quán)限管理 208 16.1 用戶管理 208 16.1.1 創(chuàng)建用戶 208 16.1.2 刪除用戶 209 16.1.3 重命名用戶 209 16.2 管理訪問權(quán)限 210 16.2.1 查看用戶權(quán)限 210 16.2.2 設置用戶權(quán)限 210 16.3 MySQL數(shù)據(jù)庫常見安全問題 214 16.3.1 權(quán)限更改何時生效 214 16.3.2 設置賬戶密碼 214 16.3.3 如何使密碼更安全 215 16.4 綜合案例 215 16.5 實戰(zhàn)練習 216 第2篇 實戰(zhàn)篇217 第17章 各種編程語言連接MySQL數(shù)據(jù)庫 218 17.1 在Python程序中連接MySQL數(shù)據(jù)庫 218 17.1.1 安裝PyMySQL 218 17.1.2 連接MySQL數(shù)據(jù)庫 218 17.1.3 創(chuàng)建MySQL數(shù)據(jù)表 219 17.1.4 操作MySQL數(shù)據(jù)表 220 17.2 在C語言程序中連接MySQL數(shù)據(jù)庫 221 17.2.1 配置MySQL依賴文件及庫 221 17.2.2 連接MySQL數(shù)據(jù)庫 223 17.3 在Java程序中連接MySQL數(shù)據(jù)庫 223 17.3.1 JDBC中常用的類和接口 224 17.3.2 數(shù)據(jù)庫操作 228 17.4 在PHP程序中連接MySQL數(shù)據(jù)庫 231 17.4.1 PHP操作MySQL數(shù)據(jù)庫的步驟 231 17.4.2 使用PHP操作MySQL數(shù)據(jù)庫 232 17.4.3 PHP管理MySQL數(shù)據(jù)庫中的數(shù)據(jù) 234 第18章 操作數(shù)據(jù)表 241 18.1 插入單行數(shù)據(jù) 241 18.1.1 插入整行數(shù)據(jù) 241 18.1.2 插入部分行數(shù)據(jù) 242 18.2 批量插入數(shù)據(jù) 243 18.2.1 通過VALUES關(guān)鍵字插入多行數(shù)據(jù) 243 18.2.2 通過查詢語句插入多行數(shù)據(jù) 244 18.3 修改數(shù)據(jù) 245 18.2.1 使用UPDATE語句更新列值 245 18.3.2 依據(jù)外表值更新數(shù)據(jù) 247 18.4 刪除數(shù)據(jù) 248 18.4.1 使用DELETE語句刪除數(shù)據(jù) 248 18.4.2 使用TRUNCATE TABLE語句刪除數(shù)據(jù) 249 第19章 數(shù)據(jù)查詢 251 19.1 模糊查詢 251 19.1.1 LIKE謂詞 251 19.1.2 “%”通配符的使用 251 19.1.3 “_”通配符的使用 252 19.1.4 使用ESCAPE定義轉(zhuǎn)義字符 253 19.2 查詢?nèi)掌谛蛿?shù)據(jù) 253 19.2.1 轉(zhuǎn)換日期格式 254 19.2.2 計算兩個日期的間隔天數(shù) 255 19.2.3 按指定日期查詢數(shù)據(jù) 255 19.3 查詢指定范圍的數(shù)據(jù) 256 19.3.1 查詢兩值之間的數(shù)據(jù) 256 19.3.2 查詢兩個日期之間的數(shù)據(jù) 257 19.3.3 在BETWEEN中使用日期函數(shù) 257 19.3.4 查詢不在兩數(shù)之間的數(shù)據(jù) 258 第20章 數(shù)據(jù)匯總 260 20.1 多列求和 260 20.2 求平均值 261 20.2.1 AVG()函數(shù)的普通用法 262 20.2.2 使用WHERE子句限制AVG()函數(shù)統(tǒng)計的行 262 20.3 求最大值與最小值 263 第21章 多表查詢的應用 265 21.1 合并多個結(jié)果集 265 21.1.1 UNION操作符 265 21.1.2 通過UNION ALL返回重復的行 268 21.2 使用子查詢關(guān)聯(lián)數(shù)據(jù) 268 21.3 內(nèi)連接查詢數(shù)據(jù) 270 21.3.1 等值連接 270 21.3.2 不等值連接 271 21.3.3 自然連接 271 第22章 處理重復數(shù)據(jù) 273 22.1 防止表中出現(xiàn)重復數(shù)據(jù) 273 22.2 過濾重復數(shù)據(jù) 276 22.3 統(tǒng)計重復數(shù)據(jù)的數(shù)量 277 22.4 移除表中的重復數(shù)據(jù) 277 第3篇 強化篇279 第23章 Python MySQL實現(xiàn)在線學習筆記 280 23.1 需求分析 280 23.2 系統(tǒng)設計 280 23.3 系統(tǒng)開發(fā) 283 23.4 技術(shù)準備 284 23.4.1 PyMySQL模塊 284 23.4.2 WTForms模塊 285 23.5 數(shù)據(jù)庫設計 286 23.5.1 數(shù)據(jù)庫概要說明 286 23.5.2 創(chuàng)建數(shù)據(jù)表 286 23.5.3 數(shù)據(jù)庫操作類 287 23.6 用戶模塊設計 289 23.6.1 用戶注冊功能實現(xiàn) 290 23.6.2 用戶登錄功能實現(xiàn) 292 23.6.3 退出登錄功能實現(xiàn) 295 23.6.4 用戶權(quán)限管理功能實現(xiàn) 296 23.7 筆記模塊設計 296 23.7.1 筆記列表功能實現(xiàn) 297 23.7.2 添加筆記功能實現(xiàn) 298 23.7.3 編輯筆記功能實現(xiàn) 299 23.7.4 刪除筆記功能實現(xiàn) 300 第24章 Struts 2 Spring Hibernate MySQL實現(xiàn)網(wǎng)絡商城 302 24.1 開發(fā)背景 302 24.2 需求分析 302 24.3 系統(tǒng)設計 303 24.3.1 功能結(jié)構(gòu) 303 24.3.2 系統(tǒng)流程圖 303 24.3.3 開發(fā)環(huán)境 304 24.3.4 系統(tǒng)預覽 305 24.3.5 文件夾組織結(jié)構(gòu) 306 24.4 數(shù)據(jù)庫設計 307 24.4.1 數(shù)據(jù)庫概念設計 307 24.4.2 創(chuàng)建數(shù)據(jù)庫及數(shù)據(jù)表 308 24.5 公共模塊的設計 310 24.5.1 泛型工具類 311 24.5.2 數(shù)據(jù)持久化類 311 24.5.3 分頁操作 313 24.5.4 實體映射 314 24.6 項目環(huán)境搭建 319 24.6.1 配置Struts 2 319 24.6.2 配置Hibernate 321 24.6.3 配置Spring 322 24.6.4 配置web.xml 323 24.7 前臺商品信息查詢模塊設計 324 24.7.1 前臺商品信息查詢模塊概述 324 24.7.2 前臺商品信息查詢模塊技術(shù)分析 324 24.7.3 前臺商品信息查詢模塊實現(xiàn)過程 325 24.8 購物車模塊設計 327 24.8.1 購物車模塊概述 327 24.8.2 購物車模塊技術(shù)分析 327 24.8.3 購物車基本功能實現(xiàn)過程 328 24.8.4 訂單相關(guān)功能實現(xiàn)過程 330 24.9 后臺商品管理模塊設計 333 24.9.1 后臺商品管理模塊概述 333 24.9.2 后臺商品管理模塊技術(shù)分析 333 24.9.3 商品管理功能實現(xiàn)過程 334 24.9.4 商品類別管理功能實現(xiàn)過程 338
你還可能感興趣
我要評論
|