📚 核心章節總覽

MySQL 教學章節

涵蓋基礎查詢、條件、排序、CRUD、JOIN、GROUP BY、子查詢、索引與交易觀念,適合作為完整入門到中階學習路線。

章節清單

可勾選完成狀態,並自動記錄。

1. MySQL 與 RDBMS 入門

認識資料庫、資料表、欄位、資料列、主鍵與 MySQL 在網站系統中的用途。

重點
MySQL = 關聯式資料庫管理系統
常見用途:
- 會員系統
- 訂單系統
- 商品資料
- 後台管理

2. SELECT 基本查詢

學會取出資料表中的指定欄位或全部欄位。

範例
SELECT CustomerName, City, Country
FROM Customers;

SELECT *
FROM Customers;

3. WHERE 條件篩選

使用條件比對、範圍查詢與模糊搜尋來篩選資料。

範例
SELECT *
FROM Customers
WHERE Country = 'Mexico';

SELECT *
FROM Products
WHERE Price BETWEEN 50 AND 100;

4. ORDER BY 排序

將查詢結果依價格、日期、建立時間等欄位做升冪或降冪排序。

範例
SELECT ProductName, Price
FROM Products
ORDER BY Price DESC;

5. CRUD 操作

新增、修改、刪除是資料維護的核心操作,上線前請先在測試資料庫練習。

範例
INSERT INTO Customers (CustomerName, City, Country)
VALUES ('王小明商行', '台北', 'Taiwan');

UPDATE Customers
SET City = '新北'
WHERE CustomerID = 1;

DELETE FROM Customers
WHERE CustomerID = 99;

6. JOIN 關聯查詢

把多張表透過共同欄位連接,建立完整報表與後台資訊整合。

範例
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID = Customers.CustomerID;

7. GROUP BY / HAVING

將資料分組,搭配 COUNT、SUM、AVG 做統計報表。

範例
SELECT Country, COUNT(*) AS CustomerCount
FROM Customers
GROUP BY Country
HAVING COUNT(*) >= 2;

8. 子查詢 Subquery

將查詢包進另一個查詢裡,適合比較平均值、條件式挑選等場景。

範例
SELECT ProductName, Price
FROM Products
WHERE Price > (
  SELECT AVG(Price) FROM Products
);

9. 索引、VIEW 與 TRANSACTION

提升效能、封裝查詢並確保多步驟資料操作的一致性。

範例
CREATE INDEX idx_customer_country
ON Customers (Country);

CREATE VIEW TaiwanCustomers AS
SELECT CustomerName, City
FROM Customers
WHERE Country = 'Taiwan';

START TRANSACTION;
UPDATE Accounts SET Balance = Balance - 1000 WHERE UserID = 1;
UPDATE Accounts SET Balance = Balance + 1000 WHERE UserID = 2;
COMMIT;

10. 最佳實務與安全觀念

避免誤刪資料、合理使用索引、先 SELECT 再 UPDATE/DELETE、金額用 DECIMAL。

建議
1. 危險操作前先備份
2. 先用 SELECT 驗證條件
3. 熱門查詢欄位評估加索引
4. 用 TRANSACTION 處理資金與庫存
5. 選擇正確資料型別