具體描述
作 者:張婷 編著 著作 定 價:118 齣 版 社:清華大學齣版社 齣版日期:2018年06月01日 頁 數:590 裝 幀:平裝 ISBN:9787302498506 ●篇 MySQL基礎
●第1章數據庫與MySQL3
●1.1認識數據庫 3
●1.1.1我們為什麼必須學習數據庫 3
●1.1.2數據庫技術經曆的階段 4
●1.1.3數據庫管理係統提供的功能 5
●1.2第前流行的數據庫 6
●1.2.1Oracle 7
●1.2.2SQL Server 7
●1.2.3IBM的第B2 7
●1.2.4MySQL 7
●1.2.5PostgreSQL 7
●1.3數據庫管理係統的基本組成 8
●1.3.1數據庫 8
●1.3.2數據錶 8
●1.3.3數據庫開發語言SQL 9
●1.4認識MySQL數據庫 10
●1.4.1MySQL與開源文化 10
●1.4.2MySQL發展曆史 10
●1.4.3使用MySQL的優勢 11
●部分目錄
內容簡介
MySQL是世界上很受歡迎的數據庫管理係統之一,其高效、穩定、靈活、可擴展性強並且簡單易學,這些特性使它在優選獲得越來越多開發人員的青睞。本書結閤不同難度的案例,全麵介紹MySQL的各項技術及實戰技能。通過本書的學習,讀者可以輕鬆掌握很前沿的MySQL技術,為以後不錯特性的學習和應用程序的開發夯實數據庫基礎。本版分為3篇20章。靠前篇介紹MySQL的基礎知識,包括數據庫與MySQL概述、MySQL的安裝與配置、數據庫的操作、數據錶的操作、MySQL的數據操作、MySQL的數據類型、MySQL的運算符、MySQL的單錶/多錶查詢、索引、視圖、存儲過程和函數、觸發器、事務和鎖等內容;第二篇介紹MySQL的不錯特性,如用戶安全管理、數據庫備份和恢復、日誌管理等;第三篇學習MySQL實戰開發相關的內容。《MySQL 5.7從入門到實戰》是入門MySQL的好書,相信豐富的示例能夠成為讀者必等 張婷 編著 著作 張婷,哈爾濱工業大學碩士,曾先後在華為杭州研究所、諾基亞西門子網絡公司、阿裏巴巴集團擔任不錯開發工程師和資曆開發工程師職務。有10年的C/C++、Java開發及係統設計經驗,專注於互聯網電商交易及大數據應用相關領域。
MySQL 5.7:數據管理的堅實基石與高效之道 在當今信息爆炸的時代,數據的管理與應用已成為企業生存與發展的核心競爭力。而作為關係型數據庫領域的翹楚,MySQL以其開源、穩定、高效、易用等特性,贏得瞭全球無數開發者和企業的青睞。特彆是 MySQL 5.7 版本,在性能優化、安全性提升、功能擴展等方麵實現瞭質的飛躍,為構建健壯、可擴展的數據解決方案提供瞭堅實的基礎。 本書並非簡單羅列技術名詞,而是旨在帶領讀者深入理解 MySQL 5.7 的核心原理,掌握其實際應用技巧,從而能夠獨立完成復雜的數據存儲、查詢、管理任務,並為更高級的數據庫技術打下堅實基礎。我們將從最基礎的數據庫概念入手,逐步深入到 MySQL 5.7 的方方麵麵,力求做到條理清晰、循序漸進、學以緻用。 第一部分:數據庫基礎與MySQL初探 在正式踏入 MySQL 的世界之前,理解關係型數據庫的基本概念是必不可少的。我們將從以下幾個方麵入手: 什麼是數據庫? 深入剖析數據庫的定義、作用,以及它在現代信息係統中的地位。我們將探討數據模型,理解結構化數據與非結構化數據的區彆,並重點介紹關係型數據庫的獨特優勢,例如數據的一緻性、完整性以及強大的查詢能力。 SQL:數據庫的通用語言。 Structured Query Language (SQL) 是與關係型數據庫進行交互的標準語言。我們將學習 SQL 的基本語法,包括數據定義語言 (DDL) 用於創建和修改數據庫結構(如 CREATE TABLE, ALTER TABLE, DROP TABLE),數據操縱語言 (DML) 用於數據的增刪改查(如 INSERT, UPDATE, DELETE, SELECT),以及數據控製語言 (DCL) 用於權限管理(如 GRANT, REVOKE)。 MySQL 簡介與安裝。 瞭解 MySQL 的發展曆程、社區版與企業版的區彆,以及它在開源數據庫市場中的領導地位。我們將詳細指導讀者如何根據自己的操作係統(Windows, macOS, Linux)下載並安裝 MySQL 5.7 Community Server,包括配置根用戶密碼、設置字符集等關鍵步驟。同時,我們也會介紹常用的 MySQL 客戶端工具,如 MySQL Workbench,以及命令行客戶端的使用。 第一個數據庫和錶。 在安裝完成後,我們將立即動手實踐。讀者將學會如何連接到 MySQL 服務器,如何創建自己的第一個數據庫(CREATE DATABASE),然後在數據庫中創建第一個錶(CREATE TABLE),定義錶的字段、數據類型(如 INT, VARCHAR, DATETIME, DECIMAL 等)以及設置主鍵(PRIMARY KEY)和非空約束(NOT NULL)。 第二部分:深入SQL查詢與數據操作 掌握瞭基礎的 SQL 語法後,我們將深入學習如何高效地從數據庫中檢索和操作數據。本部分將聚焦於 SQL 的核心功能: SELECT 語句的精髓。 `SELECT` 是 SQL 中最常用也最強大的語句。我們將細緻講解 `SELECT` 的各種子句,包括: WHERE 子句:學習如何使用各種條件(=, <>, >, <, >=, <=, LIKE, IN, BETWEEN, IS NULL, IS NOT NULL)來過濾數據,掌握邏輯運算符(AND, OR, NOT)的組閤應用。 ORDER BY 子句:學習如何對查詢結果進行排序,包括升序(ASC)和降序(DESC)。 LIMIT 子句:學習如何限製返迴的記錄數量,這在處理大量數據時尤為重要。 DISTINCT 關鍵字:學習如何去除重復的記錄。 聚閤函數:深入理解 COUNT, SUM, AVG, MIN, MAX 等聚閤函數的使用,以及如何結閤 `GROUP BY` 子句對數據進行分組統計。 分組與過濾:GROUP BY 與 HAVING。 `GROUP BY` 子句允許我們將具有相同值的列分組,然後對每個組應用聚閤函數。`HAVING` 子句則用於過濾分組後的結果,其作用類似於 `WHERE` 子句,但作用於分組後的集閤。我們將通過實際案例展示如何運用這兩者解決復雜的數據分析問題。 多錶查詢:JOIN 的藝術。 在實際應用中,數據往往分散在多個錶中,需要通過關聯(JOIN)來組閤查詢。我們將詳細講解各種 JOIN 類型: INNER JOIN (內連接):返迴兩個錶中匹配的行。 LEFT JOIN (左連接):返迴左錶的所有行,以及右錶中匹配的行。 RIGHT JOIN (右連接):返迴右錶的所有行,以及左錶中匹配的行。 FULL OUTER JOIN (全連接):返迴兩個錶中所有行,不匹配的行會用 NULL 填充。 CROSS JOIN (交叉連接):返迴兩個錶的笛卡爾積。 我們將通過大量的圖示和實例,幫助讀者理解不同 JOIN 類型的工作原理,以及如何選擇最適閤的 JOIN 來優化查詢性能。 子查詢:嵌套的查詢力量。 子查詢(Subquery)是指嵌套在另一個 SQL 查詢中的 `SELECT` 語句。子查詢可以齣現在 `WHERE`, `FROM`, `SELECT` 等子句中,用於實現更復雜的邏輯判斷和數據過濾。我們將探討標量子查詢、行子查詢、錶子查詢等多種形式,並分析其使用場景。 數據修改操作。 除瞭查詢,我們還需要掌握數據的增、刪、改。 INSERT 語句:學習如何插入單行、多行數據,以及如何從其他錶中插入數據。 UPDATE 語句:學習如何更新指定行的指定列,以及如何結閤 `WHERE` 子句進行條件更新。 DELETE 語句:學習如何刪除指定的行,以及如何結閤 `WHERE` 子句進行條件刪除。我們將強調數據修改操作的風險,並講解如何通過事務來保證數據的一緻性。 第三部分:數據庫設計與優化 良好的數據庫設計是保證數據質量和係統性能的關鍵。本部分將引導讀者掌握數據庫設計的原則和優化技巧: 數據庫範式:深入理解第一、第二、第三範式(1NF, 2NF, 3NF)的含義,以及如何通過範式化來消除數據冗餘和提高數據一緻性。我們將分析不同範式帶來的優缺點,並提供實踐建議。 索引:加速查詢的利器。 索引(Index)是數據庫中提高查詢速度的重要機製。我們將詳細講解不同類型的索引(B-tree Index, Hash Index, Full-text Index 等)的工作原理,以及如何創建和管理索引。重點在於學習如何分析查詢語句,找齣適閤創建索引的列,以及如何避免不恰當的索引帶來的負麵影響。 視圖:簡化復雜查詢。 視圖(View)是一個虛擬錶,其內容由一個 SQL 查詢定義。視圖可以簡化復雜的查詢,提高數據安全性,並提供一個數據抽象層。我們將學習如何創建、修改和刪除視圖。 存儲過程與函數:提高效率與復用性。 存儲過程(Stored Procedure)和函數(Function)是在數據庫服務器上預編譯和存儲的一組 SQL 語句。它們可以提高執行效率,減少網絡通信量,並實現代碼的復用。我們將學習如何編寫存儲過程和函數,以及它們的參數傳遞和返迴值。 事務:保證數據一緻性的基石。 事務(Transaction)是一係列數據庫操作的集閤,這些操作要麼全部成功,要麼全部失敗。我們將深入理解 ACID 特性(Atomicity, Consistency, Isolation, Durability),並學習如何使用 `START TRANSACTION`, `COMMIT`, `ROLLBACK` 來管理事務,保證數據在並發操作下的安全性。 數據庫性能調優基礎。 除瞭索引和範式化,還有許多其他因素會影響數據庫性能。我們將介紹如何使用 `EXPLAIN` 命令來分析 SQL 查詢的執行計劃,找齣性能瓶頸。同時,也會探討一些常見的性能問題,如慢查詢、死鎖等,並提供相應的解決方案。 第四部分:MySQL 5.7 特性與進階應用 MySQL 5.7 帶來瞭許多令人激動的新特性和改進,本部分將聚焦於這些亮點: JSON 數據類型支持。 MySQL 5.7 引入瞭原生的 JSON 數據類型,極大地簡化瞭對 JSON 格式數據的存儲和查詢。我們將學習如何創建包含 JSON 列的錶,如何使用 JSON 函數(如 JSON_EXTRACT, JSON_OBJECT, JSON_ARRAY, JSON_SEARCH 等)來操作 JSON 數據,以及如何對 JSON 數據建立索引以提高查詢效率。 GIS (地理信息係統) 功能。 MySQL 5.7 增強瞭對地理空間數據的支持,提供瞭空間索引和一係列空間函數,方便進行地理位置相關的查詢和分析。我們將介紹如何存儲和查詢地理坐標數據。 更強大的安全性。 MySQL 5.7 在安全性方麵進行瞭多項改進,例如更嚴格的默認密碼策略、SSL/TLS 連接加密等。我們將學習如何配置和管理用戶賬戶,設置權限,以及如何保護數據庫免受未經授權的訪問。 復製與高可用性基礎。 對於需要高可用性和數據冗餘的場景,復製(Replication)是必不可少的。我們將初步介紹 MySQL 的主從復製(Master-Slave Replication)和主主復製(Master-Master Replication)的概念,以及它們的工作原理,為讀者後續深入學習高可用方案打下基礎。 錯誤排查與日誌分析。 在實際運維中,及時發現和解決問題至關重要。我們將學習如何查看 MySQL 的錯誤日誌、慢查詢日誌、通用查詢日誌等,並分析日誌中的信息,以便快速定位和解決問題。 第五部分:實戰案例與總結 理論學習最終要迴歸實踐。本部分將通過一係列精心設計的實戰案例,鞏固和深化讀者對前麵知識點的理解: 案例一:電商平颱用戶與訂單管理。 涉及用戶注冊、登錄、商品瀏覽、購物車、訂單生成等場景,重點練習多錶查詢、事務處理、數據插入與更新。 案例二:社交媒體文章與評論係統。 涉及文章發布、評論迴復、點贊、關注等功能,重點練習 JSON 數據處理、全文搜索、分組聚閤。 案例三:簡單的庫存管理係統。 涉及商品的入庫、齣庫、庫存查詢、低庫存預警等,重點練習存儲過程、視圖、性能優化。 在完成這些實戰項目後,我們將對全書內容進行總結,迴顧學習過程中最重要的知識點,並為讀者提供進一步學習的建議,例如深入瞭解 MySQL 的高級特性、性能調優、集群方案、與其他技術的集成等。 本書特色: 循序漸進,由淺入深:從零基礎開始,逐步引導讀者掌握 MySQL 的各項技能。 理論與實踐相結閤:不僅講解技術原理,更注重實際操作和應用。 豐富的案例驅動:通過貼近實際的案例,讓讀者在解決問題的過程中學習。 突齣 MySQL 5.7 的核心特性:重點講解新版本帶來的重要改進和功能。 注重數據庫設計的原則與優化:幫助讀者構建高效、穩定的數據庫係統。 無論您是初次接觸數據庫的開發者,還是希望深化 MySQL 技能的專業人士,本書都將是您學習 MySQL 5.7 的理想選擇。掌握 MySQL 5.7,意味著您將擁有處理海量數據、構建可靠應用程序的強大能力,為您的技術生涯開啓新的篇章。