MySQL 8從零開始學(視頻教學版)( 簡體 字) | |
作者:胡同夫 | 類別:1. -> 資料庫 -> MySQL |
出版社:清華大學出版社 | 3dWoo書號: 51939 詢問書籍請說出此書號! 有庫存 NT售價: 445 元 |
出版日:11/1/2019 | |
頁數:440 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787302537830 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章MySQL的安裝與配置 1
1.1在Windows平臺下安裝與配置MySQL8.0 1 1.1.1安裝MySQL8.0 1 1.1.2配置MySQL8.0 5 1.2啟動服務并登錄MySQL數據庫 9 1.2.1啟動MySQL服務 9 1.2.2登錄MySQL數據庫 10 1.2.3配置Path變量 11 1.3MySQL常用圖形管理工具 13 1.4在Linux平臺下安裝與配置MySQL8.0 14 1.4.1Linux操作系統下的MySQL版本介紹 14 1.4.2安裝和配置MySQL的RPM包 15 1.4.3安裝和配置MySQL的源碼包 18 1.5專家解惑 19 1.6經典習題 19 第2章操作數據庫和數據表 20 2.1創建數據庫 20 2.2刪除數據庫 22 2.3創建數據表 22 2.3.1創建表的語法形式 22 2.3.2使用主鍵約束 24 2.3.3使用外鍵約束 25 2.3.4使用非空約束 26 2.3.5使用唯一性約束 27 2.3.6使用默認約束 27 2.3.7設置表的屬性值自動增加 28 2.4查看數據表結構 29 2.4.1查看表基本結構語句DESCRIBE 29 2.4.2查看表詳細結構語句SHOWCREATETABLE 30 2.5修改數據表 31 2.5.1修改表名 31 2.5.2修改字段的數據類型 32 2.5.3修改字段名 33 2.5.4添加字段 34 2.5.5刪除字段 36 2.5.6修改字段的排列位置 37 2.5.7更改表的存儲引擎 38 2.5.8刪除表的外鍵約束 39 2.6刪除數據表 40 2.6.1刪除沒有被關聯的表 41 2.6.2刪除被其他表關聯的主表 41 2.7MySQL8.0的新特性1——默認字符集改為utf8mb4 43 2.8MySQL8.0的新特性2——自增變量的持久化 44 2.9綜合案例——數據表的基本操作 46 2.10專家解惑 54 2.11經典習題 54 第3章數據類型和運算符 56 3.1MySQL數據類型介紹 56 3.1.1整數類型 56 3.1.2浮點數類型和定點數類型 58 3.1.3日期與時間類型 60 3.1.4文本字符串類型 71 3.1.5二進制字符串類型 76 3.2如何選擇數據類型 79 3.3常見運算符介紹 80 3.3.1運算符概述 80 3.3.2算術運算符 81 3.3.3比較運算符 82 3.3.4邏輯運算符 90 3.3.5位運算符 92 3.3.6運算符的優先級 95 3.4綜合案例——運算符的使用 96 3.5專家解惑 98 3.6經典習題 99 第4章插入、更新與刪除數據 100 4.1插入數據 100 4.1.1為表的所有字段插入數據 100 4.1.2為表的指定字段插入數據 102 4.1.3同時插入多條記錄 103 4.1.4將查詢結果插入表中 105 4.2更新數據 107 4.3刪除數據 109 4.4為表增加計算列 111 4.5MySQL8.0的新特性——DDL的原子化 112 4.6綜合案例——記錄的插入、更新和刪除 113 4.7專家解惑 117 4.8經典習題 118 第5章索引 119 5.1索引簡介 119 5.1.1索引的含義和特點 119 5.1.2索引的分類 120 5.1.3索引的設計原則 121 5.2創建索引 121 5.2.1創建表的時候創建索引 121 5.2.2在已經存在的表上創建索引 127 5.3刪除索引 134 5.4MySQL8.0的新特性1——支持降序索引 136 5.5MySQL8.0的新特性2——統計直方圖 138 5.5.1直方圖的優點 139 5.5.2直方圖的基本操作 139 5.6綜合案例——創建索引 141 5.7專家解惑 143 5.8經典習題 143 第6章視圖 145 6.1視圖概述 145 6.1.1視圖的含義 145 6.1.2視圖的作用 146 6.2創建視圖 147 6.2.1創建視圖的語法形式 147 6.2.2在單表上創建視圖 147 6.2.3在多表上創建視圖 148 6.3查看視圖 149 6.3.1使用DESCRIBE語句查看視圖的基本信息 149 6.3.2使用SHOWTABLESTATUS語句查看視圖的基本信息 150 6.3.3使用SHOWCREATEVIEW語句查看視圖的詳細信息 151 6.3.4在views表中查看視圖的詳細信息 152 6.4修改視圖 153 6.4.1使用CREATEORREPLACEVIEW語句修改視圖 153 6.4.2使用ALTER語句修改視圖 154 6.5更新視圖 155 6.6刪除視圖 158 6.7綜合案例——視圖應用 158 6.8專家解惑 166 6.9經典習題 167 第7章查詢數據 168 7.1基本查詢語句 168 7.2單表查詢 170 7.2.1查詢所有字段 171 7.2.2查詢指定字段 172 7.2.3查詢指定記錄 173 7.2.4帶IN關鍵字的查詢 175 7.2.5帶BETWEENAND的范圍查詢 176 7.2.6帶LIKE的字符匹配查詢 178 7.2.7查詢空值 179 7.2.8帶AND的多條件查詢 181 7.2.9帶OR的多條件查詢 182 7.2.10查詢結果不重復 183 7.2.11對查詢結果排序 184 7.2.12分組查詢 188 7.2.13使用LIMIT限制查詢結果的數量 193 7.3使用集合函數查詢 194 7.3.1COUNT()函數 194 7.3.2SUM()函數 195 7.3.3AVG()函數 196 7.3.4MAX()函數 197 7.3.5MIN()函數 198 7.4連接查詢 199 7.4.1內連接查詢 199 7.4.2外連接查詢 202 7.4.3復合條件連接查詢 204 7.5子查詢 205 7.5.1帶ANY、SOME關鍵字的子查詢 205 7.5.2帶ALL關鍵字的子查詢 206 7.5.3帶EXISTS關鍵字的子查詢 207 7.5.4帶IN關鍵字的子查詢 208 7.5.5帶比較運算符的子查詢 210 7.6合并查詢結果 211 7.7為表和字段取別名 214 7.7.1為表取別名 214 7.7.2為字段取別名 216 7.8使用正則表達式查詢 217 7.8.1查詢以特定字符或字符串開頭的記錄 218 7.8.2查詢以特定字符或字符串結尾的記錄 219 7.8.3用符號“.”來替代字符串中的任意一個字符 219 7.8.4使用“*”和“+”匹配多個字符 220 7.8.5匹配指定字符串 220 7.8.6匹配指定字符中的任意一個 221 7.8.7匹配指定字符以外的字符 222 7.8.8使用{n,}或者{n,m}指定字符串連續出現的次數 223 7.9MySQL8.0的新特性1——GROUPBY不再隱式排序 224 7.10MySQL8.0的新特性2——通用表表達式 226 7.11綜合案例——數據表查詢操作 230 7.12專家解惑 237 7.13經典習題 237 第8章MySQL函數 239 8.1MySQL函數簡介 239 8.2數學函數 240 8.3字符串函數 241 8.3.1計算字符串字符數的函數和計算字符串長度的函數 242 8.3.2合并字符串函數CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…) 242 8.3.3替換字符串的函數INSERT(s1,x,len,s2)和字母大小寫轉換函數 242 8.3.4獲取指定長度的字符串的函數LEFT(s,n)和RIGHT(s,n) 243 8.3.5填充字符串的函數LPAD(s1,len,s2)和RPAD(s1,len,s2) 243 8.3.6刪除空格的函數LTRIM(s)和RTRIM(s) 244 8.3.7刪除指定字符串的函數TRIM(s1FROMs) 244 8.3.8重復生成字符串的函數REPEAT(s,n) 244 8.3.9空格函數SPACE(n)和替換函數REPLACE(s,s1,s2) 245 8.3.10比較字符串大小的函數STRCMP(s1,s2) 245 8.3.11獲取子串的函數SUBSTRING(s,n,len)和MID(s,n,len) 245 8.3.12匹配子串開始位置的函數 246 8.3.13字符串逆序的函數REVERSE(s) 247 8.3.14返回指定位置的字符串的函數 247 8.3.15返回指定字符串位置的函數FIELD(s,s1,s2,…) 247 8.3.16返回子串位置的函數FIND_IN_SET(s1,s2) 248 8.3.17選取字符串的函數MAKE_SET(x,s1,s2,…) 248 8.4日期和時間函數 249 8.4.1獲取當前日期的函數和獲取當前時間的函數 249 8.4.2獲取當前日期和時間的函數 250 8.4.3UNIX時間戳函數 250 8.4.4返回UTC日期的函數和返回UTC時間的函數 251 8.4.5獲取月份的函數MONTH(date)和MONTHNAME(date) 251 8.4.6獲取星期的函數DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d) 252 8.4.7獲取星期數的函數WEEK(d)和WEEKOFYEAR(d) 253 8.4.8獲取天數的函數DAYOFYEAR(d)和DAYOFMONTH(d) 254 8.4.9獲取年份、季度、小時、分鐘和秒鐘的函數 254 8.4.10獲取日期的指定值的函數EXTRACT(typeFROMdate) 255 8.4.11時間和秒鐘轉換的函數 255 8.4.12計算日期和時間的函數 256 8.4.13將日期和時間格式化的函數 259 8.5條件判斷函數 262 8.5.1IF(expr,v1,v2)函數 262 8.5.2IFNULL(v1,v2)函數 262 8.5.3CASE函數 263 8.6系統信息函數 264 8.6.1獲取MySQL版本號、連接數和數據庫名的函數 264 8.6.2獲取用戶名的函數 266 8.6.3獲取字符串的字符集和排序方式的函數 266 8.6.4獲取最后一個自動生成的ID值的函數 267 8.7MySQL8.0的新特性1——加密函數 268 8.7.1加密函數MD5(str) 269 8.7.2加密函數SHA(str) 269 8.7.3加密函數SHA2(str,hash_length) 269 8.8MySQL8.0的新特性2——窗口函數 270 8.9綜合案例——MySQL函數的使用 271 8.10專家解惑 274 8.11經典習題 275 第9章存儲過程和函數 277 9.1創建存儲過程和函數 277 9.1.1創建存儲過程 278 9.1.2創建存儲函數 280 9.1.3變量的使用 281 9.1.4定義條件和處理程序 282 9.1.5光標的使用 285 9.1.6流程控制的使用 286 9.2調用存儲過程和函數 291 9.2.1調用存儲過程 291 9.2.2調用存儲函數 292 9.3查看存儲過程和函數 292 9.3.1使用SHOWSTATUS語句查看存儲過程和函數的狀態 293 9.3.2使用SHOWCREATE語句查看存儲過程和函數的定義 293 9.3.3從information_schema.Routines表中查看存儲過程和函數的信息 294 9.4修改存儲過程和函數 295 9.5刪除存儲過程和函數 297 9.6MySQL8.0的新特性——全局變量的持久化 298 9.7綜合案例——創建存儲過程和函數 299 9.8專家解惑 302 9.9經典習題 302 第10章MySQL觸發器 303 10.1創建觸發器 303 10.1.1創建只有一個執行語句的觸發器 304 10.1.2創建有多個執行語句的觸發器 304 10.2查看觸發器 307 10.2.1使用SHOWTRIGGERS語句查看觸發器信息 307 10.2.2在triggers表中查看觸發器信息 309 10.3觸發器的使用 310 10.4刪除觸發器 311 10.5綜合案例——觸發器的使用 312 10.6專家解惑 314 10.7經典習題 314 第11章MySQL權限與安全管理 315 11.1權限表 315 11.1.1user表 315 11.1.2db表 318 11.1.3tables_priv表和columns_priv表 319 11.1.4procs_priv表 320 11.2賬戶管理 320 11.2.1登錄和退出MySQL服務器 321 11.2.2新建普通用戶 322 11.2.3刪除普通用戶 324 11.2.4root用戶修改自己的密碼 325 11.2.5root用戶修改普通用戶密碼 326 11.3權限管理 327 11.3.1MySQL的各種權限 327 11.3.2授權 329 11.3.3收回權限 331 11.3.4查看權限 332 11.4訪問控制 333 11.4.1連接核實階段 333 11.4.2請求核實階段 333 11.5提升安全性 334 11.5.1AES256加密 334 11.5.2密碼到期更換策略 336 11.5.3安全模式安裝 338 11.6MySQL8.0的新特性——管理角色 338 11.7綜合案例——綜合管理用戶權限 339 11.8專家解惑 342 11.9經典習題 342 第12章數據備份與恢復 344 12.1數據備份 344 12.1.1使用MySQLdump命令備份 344 12.1.2直接復制整個數據庫目錄 350 12.1.3使用MySQLhotcopy工具快速備份 351 12.2數據恢復 351 12.2.1使用MySQL命令恢復 351 12.2.2直接復制到數據庫目錄 352 12.2.3MySQLhotcopy快速恢復 353 12.3數據庫遷移 353 12.3.1相同版本的MySQL數據庫之間的遷移 353 12.3.2不同版本的MySQL數據庫之間的遷移 354 12.3.3不同數據庫之間的遷移 354 12.4表的導出和導入 354 12.4.1使用SELECTI…NTOOUTFILE導出文本文件 355 12.4.2使用MySQLdump命令導出文本文件 359 12.4.3使用MySQL命令導出文本文件 361 12.4.4使用LOADDATAINFILE方式導入文本文件 364 12.4.5使用MySQLimport命令導入文本文件 367 12.5綜合案例——數據的備份與恢復 368 12.6專家解惑 372 12.7經典習題 373 第13章MySQL日志 374 13.1日志簡介 374 13.2二進制日志 375 13.2.1啟動和設置二進制日志 375 13.2.2查看二進制日志 376 13.2.3刪除二進制日志 378 13.2.4使用二進制日志恢復數據庫 380 13.2.5暫時停止二進制日志功能 380 13.3錯誤日志 381 13.3.1啟動和設置錯誤日志 381 13.3.2查看錯誤日志 381 13.3.3刪除錯誤日志 382 13.4通用查詢日志 383 13.4.1啟動通用查詢日志 383 13.4.2查看通用查詢日志 383 13.4.3刪除通用查詢日志 384 13.5慢查詢日志 384 13.5.1啟動和設置慢查詢日志 385 13.5.2查看慢查詢日志 385 13.5.3刪除慢查詢日志 386 13.6MySQL8.0的新特性——日志分類更詳細 386 13.7綜合案例——MySQL日志的綜合管理 386 13.8專家解惑 392 13.9經典習題 393 第14章性能優化 394 14.1優化簡介 394 14.2優化查詢 395 14.2.1分析查詢語句 395 14.2.2索引對查詢速度的影響 398 14.2.3使用索引查詢 399 14.2.4優化子查詢 402 14.3優化數據庫結構 402 14.3.1將字段很多的表分解成多個表 403 14.3.2增加中間表 404 14.3.3增加冗余字段 405 14.3.4優化插入記錄的速度 406 14.3.5分析表、檢查表和優化表 407 14.4優化MySQL服務器 409 14.4.1優化服務器硬件 409 14.4.2優化MySQL的參數 410 14.5臨時表性能優化 411 14.6服務器語句超時處理 413 14.7創建全局通用表空間 414 14.8MySQL8.0的新特性1——支持不可見索引 414 14.9MySQL8.0的新特性2——增加資源組 416 14.10綜合案例——全面優化MySQL服務器 418 14.11專家解惑 420 14.12經典習題 421 第15章綜合項目1——論壇管理系統數據庫設計 422 15.1系統概述 422 15.2系統功能 423 15.3數據庫設計和實現 424 15.3.1設計方案圖表 424 15.3.2設計表 426 15.3.3設計索引 429 15.3.4設計視圖 430 15.3.5設計觸發器 431 第16章綜合項目2——新聞發布系統數據庫設計 433 16.1系統概述 433 16.2系統功能 434 16.3數據庫設計和實現 435 16.3.1設計表 435 16.3.2設計索引 439 16.3.3設計視圖 440 16.3.4設計觸發器 441 本書內容主要包括MySQL的安裝與配置、數據庫的創建、數據表的創建、數據類型和運算符、數據表的操作(插入、更新與刪除數據)、索引、視圖、查詢數據、MySQL函數、存儲過程和函數、觸發器、用戶管理、數據備份與還原、MySQL日志、性能優化。最后通過兩個綜合案例的數據庫設計進一步講述MySQL在實際工作中的應用,重點介紹MySQL的安裝與配置、數據類型和運算符以及數據表的操作。本書注重實戰操作,幫助讀者循序漸進地掌握MySQL中的各項技術。
本書共有400個實例和14個綜合案例,還有大量的經典習題。隨書贈送了近20小時培訓班形式的視頻教學錄像,詳細講解書中每一個知識點和每一個數據庫操作的方法和技巧。同時還提供本書所有例子的源代碼,讀者可以直接查看和調用。 本書適合MySQL數據庫初學者、MySQL數據庫開發人員和MySQL數據庫管理員學習,同時也能作為高等院校相關專業師生的教學用書。 本書是面向MySQL數據庫管理系統初學者的一本高質量的圖書。目前國內MySQL需求旺盛,各大知名企業高薪招聘技術能力強的MySQL開發人員和管理人員。本書根據這樣的需求,針對初學者量身定做,內容注重實戰,通過實例的操作與分析,引領讀者快速學習和掌握MySQL開發和管理技術。
本書內容 第1章介紹MySQL的安裝和配置,主要包括Windows平臺下的安裝和配置、Linux平臺下的安裝和配置、如何啟動MySQL服務、如何更改MySQL的配置等。 第2章介紹MySQL數據庫的基本操作,包括創建數據庫、刪除數據庫、創建數據表、查看數據表結構、修改數據表和刪除數據表。 第3章介紹MySQL中的數據類型和運算符,主要包括MySQL數據類型介紹、如何選擇數據類型和常見運算符介紹。 第4章介紹如何插入、更新與刪除數據,包括插入數據、更新數據、刪除數據。 第5章介紹MySQL中的索引,包括索引簡介、如何創建各種類型的索引和如何刪除索引。 第6章介紹MySQL視圖,主要包括視圖的概念、創建視圖、查看視圖、修改視圖、更新視圖和刪除視圖。 第7章介紹如何查詢數據表中的數據,主要包括基本查詢語句、單表查詢、使用聚合函數查詢、連接查詢、子查詢、合并查詢結果、為表和字段取別名以及使用正則表達式查詢。 第8章介紹MySQL函數,包括數學函數、字符串函數、日期和時間函數、條件判斷函數、系統信息函數、加密函數和其他函數。 第9章介紹MySQL中的存儲過程和函數,包括存儲過程和函數的創建、調用、查看、修改和刪除。 第10章介紹MySQL觸發器,包括創建觸發器、查看觸發器、觸發器的使用和刪除觸發器。 第11章介紹MySQL用戶管理,主要包括MySQL中的各種權限表、賬戶管理、權限管理和MySQL的訪問控制機制。 第12章介紹MySQL數據庫的備份和恢復,主要包括數據備份、數據恢復、數據庫的遷移和數據表的導出和導入。 第13章介紹MySQL日志,主要包括日志簡介、二進制日志、錯誤日志、通用查詢日志和慢查詢日志。 第14章介紹如何對MySQL進行性能優化,包括優化簡介、優化查詢、優化數據庫結構和優化MySQL服務器。 第15章介紹論壇系統數據庫的設計方法和實現過程。 第16章介紹新聞發布系統數據庫的設計方法和實現過程。 本書特色 內容全面:涵蓋所有MySQL的基礎知識點,由淺入深地介紹MySQL數據庫開發技術。 圖文并茂:在介紹案例的過程中,每一個操作均有對應步驟和過程說明。這種圖文結合的方式使讀者在學習過程中能夠直觀、清晰地看到操作的過程以及效果,便于讀者更快地理解和掌握。 易學易用:顛覆傳統“看”書的觀念,變成一本能“操作”的書。 案例豐富:把知識點融匯于系統的案例實訓中,并且結合綜合案例進行講解和拓展,進而達到“知其然,并知其所以然”的目的。 提示說明:本書對讀者在學習過程中可能會遇到的疑難問題以“提示”的形式進行了說明,以免讀者在學習的過程中走彎路。 超值下載包:本書共有400個詳細實例和14個綜合案例的源代碼,能讓讀者在實戰應用中掌握MySQL的每一項技能。下載包中贈送近20小時培訓班形式的視頻教學錄像,使本書真正體現“自學無憂”,令其物超所值。 讀者對象 本書是一本完整介紹MySQL數據庫技術的教程,內容豐富、條理清晰、實用性強,適合以下讀者學習使用: ? MySQL數據庫初學者。 ? 對數據庫開發有興趣,希望快速、全面掌握MySQL的人員。 ? 對其他數據庫有一定的了解,想轉到MySQL平臺上的開發者。 ? 高等院校和培訓學校相關專業的師生。 鳴謝與技術支持 本書由胡同夫主編,還有李小威、劉增產、王秀榮、王天護、張工廠、劉增杰、劉玉萍、王英英、皮素芹、王猛、王攀登、王婷婷、王朵朵、王維維、張芳、劉玉紅等人參加編寫工作。雖然傾注了眾多編者的努力,但由于水平有限、時間倉促,書中難免有疏漏之處,請讀者諒解,如果遇到問題或有意見和建議,敬請與編者聯系,編者將全力提供幫助,技術支持QQ群。 課件、源代碼、教學視頻下載 本書課件、源代碼、教學視頻可以掃描二維碼下載。 如果下載有問題,請發送電子郵件, 郵件主題為“MySQL 8從零開始學下載資源”。 著 者 2019年6月 |