MySQL 5.7從零開始學( 簡體 字) | |
作者:王英英 李小威 | 類別:1. -> 資料庫 -> MySQL |
出版社:清華大學出版社 | 3dWoo書號: 48846 詢問書籍請說出此書號! 有庫存 NT售價: 395 元 |
出版日:4/1/2018 | |
頁數:450 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787302498124 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章認識MySQL5.7 1
1.1數據庫基礎 1 1.1.1什么是數據庫 1 1.1.2表 2 1.1.3數據類型 2 1.1.4主鍵 2 1.2數據庫技術構成 3 1.2.1數據庫系統 3 1.2.2SQL語言 4 1.2.3數據庫訪問接口 5 1.3了解MySQL數據庫 5 1.3.1客戶機-服務器軟件 6 1.3.2MySQL的版本 6 1.3.3MySQL的優勢 7 1.4MySQL5.7的新功能 8 1.5學習MySQL的訣竅 8 第2章MySQL的安裝與配置 10 2.1在Windows平臺下安裝與配置MySQL5.7 10 2.1.1安裝MySQL5.7 10 2.1.2配置MySQL5.7 15 2.2啟動服務并登錄MySQL數據庫 19 2.2.1啟動MySQL服務 20 2.2.2登錄MySQL數據庫 21 2.2.3配置Path變量 24 2.3MySQL常用圖形管理工具 26 2.4在Linux平臺下安裝與配置MySQL5.7 27 2.4.1Linux操作系統下的MySQL版本介紹 27 2.4.2安裝和配置MySQL的RPM包 29 2.4.3安裝和配置MySQL的源碼包 33 2.5疑難解惑 34 2.6上機練練手 34 第3章數據庫的基本操作 35 3.1創建數據庫 35 3.2刪除數據庫 37 3.3理解數據庫存儲引擎 37 3.3.1MySQL存儲引擎簡介 37 3.3.2InnoDB存儲引擎 39 3.3.3MyISAM存儲引擎 40 3.3.4MEMORY存儲引擎 41 3.3.5存儲引擎的選擇 41 3.4實戰演練——數據庫的創建和刪除 42 3.5疑難解惑 44 3.6上機練練手 44 第4章數據表的基本操作 45 4.1創建數據表 45 4.1.1創建表的語法形式 45 4.1.2使用主鍵約束 47 4.1.3使用外鍵約束 48 4.1.4使用非空約束 49 4.1.5使用唯一性約束 50 4.1.6使用默認約束 50 4.1.7設置表的屬性值自動增加 51 4.2查看數據表結構 52 4.2.1查看表基本結構語句DESCRIBE 52 4.2.2查看表詳細結構語句SHOWCREATETABLE 53 4.3修改數據表 54 4.3.1修改表名 55 4.3.2修改字段的數據類型 55 4.3.3修改字段名 56 4.3.4添加字段 57 4.3.5刪除字段 60 4.3.6修改字段的排列位置 61 4.3.7更改表的存儲引擎 62 4.3.8刪除表的外鍵約束 63 4.4刪除數據表 64 4.4.1刪除沒有被關聯的表 65 4.4.2刪除被其他表關聯的主表 65 4.5實戰演練——數據表的基本操作 67 4.6疑難解惑 75 4.7上機練練手 76 第5章數據類型和運算符 77 5.1MySQL數據類型介紹 77 5.1.1整數類型 77 5.1.2浮點數類型和定點數類型 79 5.1.3日期與時間類型 81 5.1.4文本字符串類型 93 5.1.5二進制字符串類型 98 5.2如何選擇數據類型 101 5.3常見運算符介紹 102 5.3.1運算符概述 103 5.3.2算術運算符 103 5.3.3比較運算符 105 5.3.4邏輯運算符 113 5.3.5位運算符 116 5.3.6運算符的優先級 119 5.4實戰演練——運算符的使用 119 5.5疑難解惑 122 5.6上機練練手 123 第6章MySQL函數 124 6.1MySQL函數簡介 124 6.2數學函數 125 6.2.1絕對值函數ABS(x)和返回圓周率的函數PI() 125 6.2.2平方根函數SQRT(x)和求余函數MOD(x,y) 125 6.2.3獲取整數的函數CEIL(x)、CEILING(x)和FLOOR(x) 126 6.2.4獲取隨機數的函數RAND()和RAND(x) 127 6.2.5函數ROUND(x)、ROUND(x,y)和TRUNCATE(x,y) 127 6.2.6符號函數SIGN(x) 129 6.2.7冪運算函數POW(x,y)、POWER(x,y)和EXP(x) 129 6.2.8對數運算函數LOG(x)和LOG10(x) 130 6.2.9角度與弧度相互轉換的函數RADIANS(x)和DEGREES(x) 130 6.2.10正弦函數SIN(x)和反正弦函數ASIN(x) 131 6.2.11余弦函數COS(x)和反余弦函數ACOS(x) 132 6.2.12正切函數、反正切函數和余切函數 132 6.3字符串函數 133 6.3.1計算字符串字符數和字符串長度的函數 133 6.3.2合并字符串函數CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…) 134 6.3.3替換字符串的函數INSERT(s1,x,len,s2) 135 6.3.4字母大小寫轉換函數 136 6.3.5獲取指定長度的字符串的函數LEFT(s,n)和RIGHT(s,n) 136 6.3.6填充字符串的函數LPAD(s1,len,s2)和RPAD(s1,len,s2) 137 6.3.7刪除空格的函數LTRIM(s)、RTRIM(s)和TRIM(s) 138 6.3.8刪除指定字符串的函數TRIM(s1FROMs) 139 6.3.9重復生成字符串的函數REPEAT(s,n) 139 6.3.10空格函數SPACE(n)和替換函數REPLACE(s,s1,s2) 140 6.3.11比較字符串大小的函數STRCMP(s1,s2) 140 6.3.12獲取子串的函數SUBSTRING(s,n,len)和MID(s,n,len) 141 6.3.13匹配子串開始位置的函數 142 6.3.14字符串逆序的函數REVERSE(s) 142 6.3.15返回指定位置的字符串的函數 142 6.3.16返回指定字符串位置的函數FIELD(s,s1,s2,…) 143 6.3.17返回子串位置的函數FIND_IN_SET(s1,s2) 143 6.3.18選取字符串的函數MAKE_SET(x,s1,s2,…) 144 6.4日期和時間函數 144 6.4.1獲取當前日期的函數和獲取當前時間的函數 144 6.4.2獲取當前日期和時間的函數 145 6.4.3UNIX時間戳函數 146 6.4.4返回UTC日期的函數和返回UTC時間的函數 146 6.4.5獲取月份的函數MONTH(date)和MONTHNAME(date) 147 6.4.6獲取星期的函數DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d) 148 6.4.7獲取星期數的函數WEEK(d)和WEEKOFYEAR(d) 149 6.4.8獲取天數的函數DAYOFYEAR(d)和DAYOFMONTH(d) 150 6.4.9獲取年份、季度、小時、分鐘和秒鐘的函數 150 6.4.10獲取日期的指定值的函數EXTRACT(typeFROMdate) 152 6.4.11時間和秒鐘轉換的函數 152 6.4.12計算日期和時間的函數 153 6.4.13將日期和時間格式化的函數 156 6.5條件判斷函數 159 6.5.1IF(expr,v1,v2)函數 159 6.5.2IFNULL(v1,v2)函數 159 6.5.3CASE函數 160 6.6系統信息函數 161 6.6.1獲取MySQL版本號、連接數和數據庫名的函數 161 6.6.2獲取用戶名的函數 163 6.6.3獲取字符串的字符集和排序方式的函數 163 6.6.4獲取最后一個自動生成的ID值的函數 164 6.7加密函數 166 6.7.1加密函數PASSWORD(str) 166 6.7.2加密函數MD5(str) 167 6.7.3加密函數ENCODE(str,pswd_str) 167 6.7.4解密函數DECODE(crypt_str,pswd_str) 167 6.8其他函數 168 6.8.1格式化函數FORMAT(x,n) 168 6.8.2不同進制的數字進行轉換的函數 168 6.8.3IP地址與數字相互轉換的函數 169 6.8.4加鎖函數和解鎖函數 170 6.8.5重復執行指定操作的函數 171 6.8.6改變字符集的函數 171 6.8.7改變數據類型的函數 172 6.9實戰演練——MySQL函數的使用 172 6.10疑難解惑 176 6.11上機練練手 176 第7章查詢數據 178 7.1基本查詢語句 178 7.2單表查詢 180 7.2.1查詢所有字段 181 7.2.2查詢指定字段 182 7.2.3查詢指定記錄 184 7.2.4帶IN關鍵字的查詢 185 7.2.5帶BETWEENAND的范圍查詢 187 7.2.6帶LIKE的字符匹配查詢 188 7.2.7查詢空值 190 7.2.8帶AND的多條件查詢 191 7.2.9帶OR的多條件查詢 192 7.2.10查詢結果不重復 193 7.2.11對查詢結果排序 195 7.2.12分組查詢 198 7.2.13使用LIMIT限制查詢結果的數量 203 7.3使用集合函數查詢 205 7.3.1COUNT()函數 205 7.3.2SUM()函數 206 7.3.3AVG()函數 207 7.3.4MAX()函數 208 7.3.5MIN()函數 209 7.4連接查詢 210 7.4.1內連接查詢 211 7.4.2外連接查詢 214 7.4.3復合條件連接查詢 216 7.5子查詢 217 7.5.1帶ANY、SOME關鍵字的子查詢 217 7.5.2帶ALL關鍵字的子查詢 218 7.5.3帶EXISTS關鍵字的子查詢 218 7.5.4帶IN關鍵字的子查詢 220 7.5.5帶比較運算符的子查詢 222 7.6合并查詢結果 223 7.7為表和字段取別名 226 7.7.1為表取別名 226 7.7.2為字段取別名 227 7.8使用正則表達式查詢 229 7.8.1查詢以特定字符或字符串開頭的記錄 230 7.8.2查詢以特定字符或字符串結尾的記錄 231 7.8.3用符號"."來替代字符串中的任意一個字符 231 7.8.4使用"*"和"+"來匹配多個字符 232 7.8.5匹配指定字符串 232 7.8.6匹配指定字符中的任意一個 233 7.8.7匹配指定字符以外的字符 234 7.8.8使用{n,}或者{n,m}來指定字符串連續出現的次數 235 7.9實戰演練——數據表查詢操作 236 7.10疑難解惑 244 7.11上機練練手 245 第8章插入、更新與刪除數據 246 8.1插入數據 246 8.1.1為表的所有字段插入數據 246 8.1.2為表的指定字段插入數據 248 8.1.3同時插入多條記錄 250 8.1.4將查詢結果插入到表中 252 8.2更新數據 253 8.3刪除數據 255 8.4實戰演練——記錄的插入、更新和刪除 257 8.5疑難解惑 262 8.6上機練練手 263 第9章索引 264 9.1索引簡介 264 9.1.1索引的含義和特點 264 9.1.2索引的分類 265 9.1.3索引的設計原則 266 9.2創建索引 266 9.2.1創建表的時候創建索引 266 9.2.2在已經存在的表上創建索引 272 9.3刪除索引 279 9.4實戰演練——創建索引 281 9.5疑難解惑 284 9.6上機練練手 284 第10章存儲過程和函數 285 10.1創建存儲過程和函數 285 10.1.1創建存儲過程 286 10.1.2創建存儲函數 288 10.1.3變量的使用 289 10.1.4定義條件和處理程序 290 10.1.5光標的使用 293 10.1.6流程控制的使用 294 10.2調用存儲過程和函數 299 10.2.1調用存儲過程 299 10.2.2調用存儲函數 300 10.3查看存儲過程和函數 300 10.3.1使用SHOWSTATUS語句查看存儲過程和函數的狀態 301 10.3.2使用SHOWCREATE語句查看存儲過程和函數的定義 301 10.3.3從information_schema.Routines表中查看存儲過程和函數的信息 302 10.4修改存儲過程和函數 303 10.5刪除存儲過程和函數 305 10.6實戰演練——創建存儲過程和函數 306 10.7疑難解惑 309 10.8上機練練手 310 第11章視圖 311 11.1視圖概述 311 11.1.1視圖的含義 311 11.1.2視圖的作用 312 11.2創建視圖 313 11.2.1創建視圖的語法形式 313 11.2.2在單表上創建視圖 314 11.2.3在多表上創建視圖 315 11.3查看視圖 316 11.3.1使用DESCRIBE語句查看視圖基本信息 316 11.3.2使用SHOWTABLESTATUS語句查看視圖基本信息 316 11.3.3使用SHOWCREATEVIEW語句查看視圖詳細信息 318 11.3.4在views表中查看視圖詳細信息 318 11.4修改視圖 320 11.4.1使用CREATEORREPLACEVIEW語句修改視圖 320 11.4.2使用ALTER語句修改視圖 321 11.5更新視圖 322 11.6刪除視圖 324 11.7實戰演練——視圖應用 325 11.8疑難解惑 333 11.9上機練練手 334 第12章MySQL觸發器 335 12.1創建觸發器 335 12.1.1創建只有一個執行語句的觸發器 336 12.1.2創建有多個執行語句的觸發器 337 12.2查看觸發器 339 12.2.1SHOWTRIGGERS語句查看觸發器信息 339 12.2.2在triggers表中查看觸發器信息 341 12.3使用觸發器 343 12.4刪除觸發器 343 12.5實戰演練——觸發器的使用 344 12.6疑難解惑 346 12.7上機練練手 346 第13章MySQL用戶管理 347 13.1權限表 347 13.1.1user表 347 13.1.2db表和host表 350 13.1.3tables_priv表和columns_priv表 351 13.1.4procs_priv表 352 13.2賬戶管理 353 13.2.1登錄和退出MySQL服務器 353 13.2.2新建普通用戶 355 13.2.3刪除普通用戶 359 13.2.4root用戶修改自己的密碼 360 13.2.5root用戶修改普通用戶密碼 361 13.2.6普通用戶修改密碼 363 13.2.7root用戶密碼丟失的解決辦法 363 13.3權限管理 365 13.3.1MySQL的各種權限 365 13.3.2授權 367 13.3.3收回權限 369 13.3.4查看權限 370 13.4訪問控制 371 13.4.1連接核實階段 371 13.4.2請求核實階段 371 13.5實戰演練——綜合管理用戶權限 372 13.6疑難解惑 376 13.7上機練練手 377 第14章數據備份與恢復 378 14.1數據備份 378 14.1.1使用mysqldump命令備份 378 14.1.2直接復制整個數據庫目錄 385 14.1.3使用mysqlhotcopy工具快速備份 385 14.2數據恢復 386 14.2.1使用MySQL命令恢復 386 14.2.2直接復制到數據庫目錄 387 14.2.3mysqlhotcopy快速恢復 387 14.3數據庫遷移 388 14.3.1相同版本的MySQL數據庫之間的遷移 388 14.3.2不同版本的MySQL數據庫之間的遷移 388 14.3.3不同數據庫之間的遷移 389 14.4表的導出和導入 389 14.4.1使用SELECT…INTOOUTFILE導出文本文件 389 14.4.2使用mysqldump命令導出文本文件 392 14.4.3使用MySQL命令導出文本文件 395 14.4.4使用LOADDATAINFILE方式導入文本文件 398 14.4.5使用mysqlimport命令導入文本文件 400 14.5實戰演練——數據的備份與恢復 402 14.6疑難解惑 407 14.7上機練練手 408 第15章MySQL日志 409 15.1日志簡介 409 15.2二進制日志 410 15.2.1啟動和設置二進制日志 410 15.2.2查看二進制日志 411 15.2.3刪除二進制日志 413 15.2.4使用二進制日志恢復數據庫 415 15.2.5暫時停止二進制日志功能 416 15.3錯誤日志 416 15.3.1啟動和設置錯誤日志 416 15.3.2查看錯誤日志 417 15.3.3刪除錯誤日志 418 15.4通用查詢日志 418 15.4.1啟動和設置通用查詢日志 418 15.4.2查看通用查詢日志 418 15.4.3刪除通用查詢日志 419 15.5慢查詢日志 420 15.5.1啟動和設置慢查詢日志 420 15.5.2查看慢查詢日志 420 15.5.3刪除慢查詢日志 421 15.6實戰演練——MySQL日志的綜合管理 421 15.7疑難解惑 427 15.8上機練練手 428 第16章性能優化 429 16.1優化簡介 429 16.2優化查詢 430 16.2.1分析查詢語句 430 16.2.2索引對查詢速度的影響 433 16.2.3使用索引查詢 434 16.2.4優化子查詢 437 16.3優化數據庫結構 438 16.3.1將字段很多的表分解成多個表 438 16.3.2增加中間表 439 16.3.3增加冗余字段 441 16.3.4優化插入記錄的速度 441 16.3.5分析表、檢查表和優化表 443 16.4優化MySQL服務器 445 16.4.1優化服務器硬件 445 16.4.2優化MySQL的參數 446 16.5實戰演練——全面優化MySQL服務器 447 16.6疑難解惑 449 16.7上機練練手 450 第17章設計新聞發布系統的數據庫 451 17.1系統概述 451 17.2系統功能 452 17.3數據庫設計和實現 453 17.3.1設計表 453 17.3.2設計索引 457 17.3.3設計視圖 458 17.3.4設計觸發器 459 17.4案例總結 460 (視頻教學版)本書內容主要包括MySQL 5.7的安裝與配置、數據庫的創建、數據表的創建、數據類型和運算符、MySQL函數、查詢數據、數據表的操作(插入、更新與刪除數據)、索引、存儲過程和函數、視圖、觸發器、用戶管理、數據備份與還原、日志以及性能優化,重點介紹MySQL安裝與配置、數據類型和運算符以及數據表的操作。本書注重實戰操作,幫助讀者循序漸進地掌握MySQL中的各項技術。
本書共有357個實例和14個綜合案例,還有大量的經典習題。下載資源中包含近20小時培訓班形式的視頻教學錄像,詳細講解書中每一個知識點和每一個數據庫操作的方法和技巧;同時還提供了本書所有例子的源代碼,讀者可以直接查看和調用。 本書適合MySQL數據庫初學者、MySQL數據庫開發人員和MySQL數據庫管理人員,同時也可作為高等院校和培訓學校相關專業師生的教學參考用書。 本書是面向MySQL數據庫管理系統初學者的一本高質量的書籍。目前國內MySQL需求旺盛,各大知名企業高薪招聘技術能力強的MySQL開發人員和管理人員。本書根據這樣的需求,針對初學者量身訂做,內容注重實戰,通過實例的操作與分析,引領讀者快速學習和掌握MySQL開發和管理技術。
本書內容 第1章主要介紹數據庫的技術構成和什么是MySQL,包括數據庫基本概念和MySQL工具。 第2章介紹MySQL的安裝和配置,主要包括Windows平臺下的安裝和配置、Linux平臺下的安裝和配置、如何啟動MySQL服務、如何更改MySQL的配置等。 第3章介紹MySQL數據庫的基本操作,包括創建數據庫、刪除數據庫和MySQL數據庫存儲引擎。 第4章介紹MySQL數據表的基本操作,主要包括創建數據表、查看數據表結構、修改數據表和刪除數據表。第5章介紹MySQL中的數據類型和運算符,主要包括MySQL數據類型介紹、如何選擇數據類型和常見運算符介紹。 第6章介紹MySQL函數,包括數學函數、字符串函數、日期和時間函數、條件判斷函數、系統信息函數、加密函數和其他函數。 第7章介紹如何查詢數據表中的數據,主要包括基本查詢語句、單表查詢、使用集合函數查詢、連接查詢、子查詢、合并查詢結果、為表和字段取別名以及使用正則表達式查詢。第8章介紹如何插入、更新與刪除數據,包括插入數據、更新數據、刪除數據。 第9章介紹MySQL中的索引,包括索引簡介、如何創建各種類型索引和如何刪除索引。 第10章介紹MySQL中的存儲過程和函數,包括存儲過程和函數的創建、調用、查看、修改和刪除。 第11章介紹MySQL視圖,主要介紹視圖的概念、創建視圖、查看視圖、修改視圖、更新視圖和刪除視圖。 第12章介紹MySQL觸發器,包括創建觸發器、查看觸發器、使用觸發器和刪除觸發器。第13章介紹MySQL用戶管理,主要包括MySQL中的各種權限表、賬戶管理、權限管理和MySQL的訪問控制機制。 14章介紹MySQL數據庫的備份和還原,主要包括數據備份、數據還原、數據庫的遷移以及數據表的導出和導入。 第15章介紹MySQL日志,主要包括日志簡介、二進制日志、錯誤日志、通用查詢日志和慢查詢日志。 第16章介紹如何對MySQL進行性能優化,包括優化簡介、優化查詢、優化數據庫結構和優化MySQL服務器。 第17章通過一個綜合項目實訓—設計新聞發布系統的數據庫,進一步鞏固本書所學的知識。 本書特色 ? 內容基礎:涵蓋了所有MySQL的基礎知識點,由淺入深地介紹MySQL數據庫開發技術。 ? 圖文并茂:注重操作,在介紹案例的過程中,每一個操作均有對應步驟和過程說明。這種圖文結合的方式使讀者在學習過程中能夠更加直觀、清晰地看到操作的過程以及效果,以便于讀者更快地理解和掌握。 ? 易學易用:顛覆傳統“看”書的觀念,變成一本能“操作”的圖書。 ? 案例豐富:把知識點融匯于系統的案例實訓當中,并且結合綜合案例進行講解和拓展,進而達到“知其然,知其所以然”的效果。 ? 提示技巧:本書對讀者在學習過程中可能會遇到的疑難問題以“提示”和“技巧”的形式進行了說明,以免讀者在學習的過程中走彎路。 ? 超值資源:本書共有357個詳細實例和14個綜合案例源代碼,能讓讀者在實戰應用中掌握MySQL的每一項技能,同時提供近20小時培訓班形式的視頻教學錄像,使本書真正體現“自學無憂”,令其物超所值。 如果下載有問題,或者對本書有任何疑問與建議,郵件主題為“MySQL5.7從零開始學”。 讀者對象 本書是一本完整介紹MySQL數據庫技術基礎的教程,內容豐富、條理清晰、實用性強,適合以下讀者學習使用: ? MySQL數據庫初學者。 ? 對MySQL數據庫系統管理與開發有興趣,希望快速掌握MySQL的技術人員。 ? 高等院校與培訓學校相關專業的師生。 作者與致謝 本書由王英英和李小威編著,參與編寫的人員還有包惠利、張工廠、陳偉光、胡同夫、梁云亮、劉海松、劉玉萍、劉增產、孫若淞、王攀登、王維維、張翼、肖品和李園等,在此表示感謝。雖然本書傾注了編者的努力,但由于水平有限,難免有疏漏之處,如果遇到問題或有意見和建議,敬請與我們聯系。 編 者 2018年1月 |