商品簡介
本書是一本MySQL數據庫的實用教程,強調理論知識以夠用為度,在全書中穿插了大量圖形和實例進行講解,可以讓讀者非常直觀輕鬆地理解並掌握MySQL的各個知識點。全書共11章,包括:數據庫基礎、MYSQL的安裝與配置、創建數據庫、表的創建與管理、數據查詢、索引與視圖操作、MySQL觸發器、存儲過程和函數、MySQL編程基礎、數據備份與恢復以及mysql應用實例。每章都配有大量的課後習題和課外實踐,以確保讀者對本章所講知識的鞏固和昇華。
序
MySQL是全球最流行的開源關係型數據庫,具有良好的跨平臺能力,在 Web 應用方面MySQL是最好的關系數據庫管理系統應用軟件之一,並且從MySQL5.6版開始就支持雲計算技術。由於MySQL體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,使得MySQL被廣泛地應用在Internet的大/中/小型網站中作為網站數據庫,如Facebook、Google、新浪、網易、百度等大型網站都在使用MySQL作為網站數據庫,因此在本套高職院校雲計算相關專業系列教材中,數據庫管理系統的教學選用了MySQL。
為了能夠讓初學者快速掌握MySQL的應用,本書從數據庫設計基礎、MySQL數據庫系統的安裝開始講起,同時為配合高職學生所處的學習環境,在本書中以學生成績管理設計數據庫,並貫穿於整本書始終,這使得高職學生在學習和掌握MySQL數據庫時前後關聯,脈絡清晰,易於理解。
第1章講解數據庫基礎,主要內容包括E-R圖、關係和關係模式以及關係的完整性規則,為後續章節打下基礎。
第2章講解MySQL安裝與配置,主要內容包括MySQL軟件下載與安裝,服務啟動以及用戶的登錄方式。
第3章講解創建數據庫,主要內容包括數據庫的創建以及對數據庫的管理方法。
第4章講解表的創建與管理,主要內容包括數據表的創建以及對表數據的錄入與編輯,表結構的查看、修改與刪除等操作。
第5章講解數據查詢,這是學習MySQL數據庫的重點,主要包括對數據表中數據的各種查詢方法。
第6章講解索引與視圖操作,主要內容包括索引和視圖的創建、查看、修改、刪除以及通過視圖對基表的操作等方法。
第7章講解MySQL觸發器,主要內容包括觸發器的作用,如何創建、查看、修改以及刪除觸發器等方法。
第8章講解存儲過程和函數,主要內容包括存儲過程和函數的創建、調用存儲過程和函數,以及查看、修改和刪除存儲過程。
第9章講解MySQL編程基礎,主要內容包括MySQL中的結構控制語句、標的使用方法、事務控制以及MySQL鎖的用法等。
第10章講解數據備份與恢復,主要內容包括數據備份的方法、數據還原的方法以及採用工具軟件實現數據備份和還原的方法。
第11章講解MySQL應用實例,主要內容包括開發環境的搭建,以及採用PHP編程語言,以MySQL作為後臺數據庫完成網站留言板的實例開發過程。
本書特色:
1.全書採用循序漸進的方式,適合高職院校學生逐步掌握MySQL數據庫的應用。
2.大量採用語法結合示例方式講解各個知識點,使抽象的語法規則更易於理解。
3.對MySQL中各個知識點的示例,採用圖形管理工具和命令行兩種方式進行講解。
4.全書所有示例都具有代表性和實際意義,用於解決MySQL作為後臺數據庫在工作中的實際應用。
5.每章(除11章外)都給出了大量習題,幫助學生學習後及時練習,鞏固和昇華所學知識。
6.全書選用的數據庫是關於學生的成績管理,使學生在學習過程中具有“身臨其境”的感受,令學習更加輕鬆高效。
本書由重慶電子工程職業學院的危光輝和陳杏環擔任主編,由張靖、廖先琴和李清蓮擔任副主編。南京第五十五所技術開發有限公司的工程師參與了本書的案例設計和案例測試,在此表示衷心的感謝。
為了方便教師教學,本書配有電子教學課件,請有此需要的教師登錄華信教育資源網(www.hxedu.com.cn)註冊後免費下載,如有問題可在網站留言板留言或與電子工業出版社聯繫(E-mail:hxedu@phei.com.cn)。
雖然我們精心組織,認真編寫,但錯誤之處在所難免;同時,由於編者水平有限,書中也存在諸多不足之處,懇請廣大讀者給予批評和指正,以便在今後的修訂中不斷改進。
編 者
目次
第1章 數據庫基礎 (1)
1.1 數據庫系統 (1)
1.1.1 數據庫系統的基本概念 (1)
1.1.2 數據庫系統的特點 (2)
1.2 數據模型 (3)
1.2.1 概念模型 (4)
1.2.2 E-R圖的繪製 (5)
1.2.3 關係模型 (6)
1.2.4 關係的性質 (8)
1.2.5 E-R圖轉化為關係模型 (9)
1.3 關係的完整性 (10)
1.3.1 實體完整性 (10)
1.3.2 參照完整性 (10)
1.3.3 域完整性 (10)
1.4 關係模式規範化 (11)
1.4.1 第一範式(1NF) (12)
1.4.2 第二範式(2NF) (12)
1.4.3 第三範式(3NF) (13)
1.4.4 增強第三範式(Boyce-Codd Normal Form,BCNF) (13)
課後習題 (14)
課外實踐 (15)
第2章 MySQL安裝與配置 (17)
2.1 MySQL簡介 (17)
2.1.1 MySQL的特性 (18)
2.1.2 MySQL的版本 (18)
2.2 MySQL下載和安裝 (19)
2.2.1 下載MySQL安裝包 (19)
2.2.2 MySQL安裝與配置 (21)
2.3 MySQL服務的啟動 (30)
2.4 MySQL的登錄 (31)
2.4.1 以Windows命令行方式登錄 (31)
2.4.2 使用MySQL Command Line Client登錄 (33)
2.4.3 登錄MySQL的圖形管理工具介紹 (35)
2.4.4 MySQL的圖形管理工具―SQLyog登錄 (35)
課後習題 (37)
課外實踐 (37)
第3章 創建數據庫 (38)
3.1 MySQL數據庫概述 (38)
3.2 創建數據庫 (40)
3.2.1 採用圖形化界面方式 (41)
3.2.2 採用命令行方式 (42)
3.3 數據庫相關操作 (44)
3.3.1 數據庫查看 (44)
3.3.2 數據庫選擇 (44)
3.3.3 數據庫刪除 (45)
3.4 數據庫存儲引擎 (47)
3.4.1 MySQL存儲引擎簡介 (47)
3.4.2 InnoDB (48)
3.4.3 MyISAM (48)
3.4.4 Memory (49)
3.4.5 默認存儲引擎 (49)
3.4.6 存儲引擎的比較 (50)
課後習題 (51)
課外實踐 (51)
第4章 表的創建與管理 (52)
4.1 數據類型 (52)
4.1.1 數值類型 (52)
4.1.2 日期和時間類型 (53)
4.1.3 字符串類型 (54)
4.2 表的創建 (56)
4.2.1 表的概述 (56)
4.2.2 創建數據表結構 (57)
4.2.3 表約束 (59)
4.2.4 設置表字段值自動增加 (64)
4.2.5 表結構與表約束的綜合定義 (65)
4.2.6 查看數據表結構 (66)
4.3 表的修改 (67)
4.3.1 修改表名 (67)
4.3.2 修改字段名 (68)
4.3.3 修改字段數據類型 (69)
4.3.4 添加字段 (69)
4.3.5 刪除字段 (70)
4.3.6 改變字段排列順序 (70)
4.3.7 刪除外鍵約束 (71)
4.3.8 更改表的存儲引擎 (72)
4.3.9 使用工具軟件SQLyog修改表 (72)
4.4 表的刪除 (75)
4.4.1 使用命令行方式刪除表 (75)
4.4.2 使用工具軟件SQLyog刪除表 (77)
4.5 表數據操作 (78)
4.5.1 在Command Line Client模式下添加數據 (78)
4.5.2 使用工具軟件SQLyog添加數據 (81)
4.5.3 更新數據 (85)
4.5.4 刪除數據 (87)
課後習題 (89)
課外實踐 (90)
第5章 數據查詢 (92)
5.1 運算符 (92)
5.1.1 算術運算符 (92)
5.1.2 比較運算符 (94)
5.1.3 邏輯運算符 (96)
5.1.4 位運算符 (97)
5.2 簡單數據查詢 (100)
5.2.1 基本查詢 (100)
5.2.2 條件查詢 (104)
5.2.3 排序查詢結果 (109)
5.3 複雜數據查詢 (111)
5.3.1 使用聚合函數查詢 (111)
5.3.2 分類匯總查詢 (114)
5.3.3 多表查詢 (118)
5.3.4 子查詢 (122)
5.3.5 合併查詢結果 (125)
5.3.6 將查詢結果輸出到其他表 (126)
課後習題 (128)
課外實踐 (132)
第6章 索引與視圖操作 (133)
6.1 索引概述 (133)
6.2 索引的操作 (134)
6.2.1 創建普通索引 (134)
6.2.2 創建唯一索引 (136)
6.2.3 創建主鍵索引 (137)
6.2.4 創建全文索引 (137)
6.2.5 創建多列索引 (139)
6.2.6 通過工具軟件SQLyog創建索引 (140)
6.2.7 查看索引 (143)
6.2.8 刪除索引 (146)
6.3 視圖概述 (149)
6.4 視圖的操作 (149)
6.4.1 使用命令行方式創建視圖並查詢視圖數據 (150)
6.4.2 使用工具軟件創建視圖並查詢視圖數據 (151)
6.4.3 使用命令行方式查看視圖 (153)
6.4.4 使用工具軟件查看視圖 (154)
6.4.5 修改視圖 (156)
6.4.6 使用工具軟件修改視圖 (157)
6.4.7 通過視圖操作基表 (159)
6.4.8 刪除視圖 (162)
課後習題 (163)
課外實踐 (164)
第7章 MySQL觸發器 (165)
7.1 什麼是觸發器 (165)
7.2 觸發器的操作 (166)
7.2.1 創建觸發器 (166)
7.2.2 在工具軟件SQLyog中查看觸發器 (171)
7.2.3 刪除觸發器 (174)
7.3 在Command Line Client模式下創建、查看與刪除觸發器 (174)
7.3.1 創建觸發器 (174)
7.3.2 查看觸發器 (175)
7.3.3 刪除觸發器 (178)
課後習題 (178)
課外實踐 (179)
第8章 存儲過程和函數 (180)
8.1 為什麼使用存儲過程和函數 (180)
8.2 創建存儲過程和函數 (181)
8.2.1 創建存儲過程 (181)
8.2.2 創建函數 (184)
8.2.3 調用存儲過程和函數 (184)
8.2.4 存儲過程和函數的區別 (186)
8.3 查看存儲過程和函數 (186)
8.3.1 使用SHOW STATUS語句來查看存儲過程和函數的狀態信息 (186)
8.3.2 使用SHOW CREATE語句來查看存儲過程和函數的定義信息 (187)
8.3.3通過系統表information_schema.routines來查看存儲過程 (188)
8.3.4 使用工具軟件SQLyog來查看存儲過程和函數的定義信息 (189)
8.4 修改存儲過程和函數 (190)
8.4.1 使用工具軟件SQLyog來修改存儲過程和函數 (190)
8.4.2 在Command Line Client模式中修改存儲過程和函數 (190)
8.5 刪除存儲過程和函數 (192)
8.5.1 使用Command Line Client模式來刪除存儲過程和函數 (192)
8.5.2 使用工具軟件SQLyog來刪除存儲過程和函數 (192)
課後習題 (193)
課外實踐 (194)
第9章 MySQL編程基礎 (195)
9.1 SQL語言 (195)
9.1.1 常量 (195)
9.1.2 變量 (196)
9.2 結構控制語句 (199)
9.2.1 IF條件控制結構 (199)
9.2.2 CASE分支結構 (200)
9.2.3 LOOP循環控制語句 (202)
9.2.4 WHILE循環控制語句 (203)
9.3 注釋 (205)
9.4 標 (205)
9.4.1 聲明標 (206)
9.4.2 打開標 (206)
9.4.3 使用標 (206)
9.4.4 關閉標 (207)
9.5 MySQL事務 (208)
9.5.1 事務概述 (208)
9.5.2 事務控制 (209)
9.5.3 事務隔離級別 (212)
9.6 MySQL的鎖 (214)
9.6.1 鎖的類型 (214)
9.6.2 鎖粒度 (215)
9.6.3 死鎖 (217)
9.6.4 InnoDB監視器 (218)
課後習題 (219)
課外實踐 (220)
第10章 數據備份與恢復 (221)
10.1 數據備份 (221)
10.1.1 使用MySQLdump命令備份 (221)
10.1.2 複製數據庫目錄進行備份 (226)
10.2 數據還原 (227)
10.2.1 使用MySQL命令還原 (227)
10.2.2 使用source命令還原 (227)
10.2.3 通過複製數據庫目錄還原 (228)
10.3 通過工具軟件SQLyog進行數據備份與還原 (228)
10.3.1 通過工具軟件SQLyog進行備份 (228)
10.3.2 使用工具軟件SQLyog還原數據庫 (233)
10.4 使用工具軟件SQLyog進行數據的導出與導