Preview
YouTube 作為影片載體,網站作為銷售與學習路線入口。
這裡可以放公開試看片、免費教學影片,或付款後提供的課程入口說明。正式上線前只要替換 YouTube embed 連結即可。
學完能做到
- 理解 database、table、row、column 與關聯式資料模型
- 能使用 SQL 完成資料庫建立、CRUD、條件查詢、聚合與 JOIN
- 能設計 users、products、orders、order_items、payments 等資料表
- 理解 Primary Key、Foreign Key、正規化、Index、EXPLAIN 與 N+1 問題
- 能處理 Transaction、Lock、權限、備份還原與 Schema Migration
- 建立一套適合後端服務的資料庫安全與上線前檢查流程
實作專案
- 設計 users、products、orders、order_items、payments 小型電商資料庫
- 完成使用者訂單、訂單明細、付款狀態與消費總額查詢
- 為重要查詢建立索引並使用 EXPLAIN 檢查執行計畫
- 建立 app_user、執行 mysqldump,並還原到另一個 database 驗證
- 整理 schema migration 與正式環境上線前檢查清單
適合對象
- 完全沒有資料庫基礎,但想學會 SQL 的初學者
- 正在學 Python、Java、Node.js 或後端 API 的開發者
- 想從資料表設計進入資料分析、Machine Learning 的學習者
- 需要在工作中建立、查詢或維護 MySQL 的工程師與技術人員
Curriculum
課程大綱
MySQL 是什麼?|database、table、row、column 與 Docker 啟動
安裝與連線工具|Docker、mysql CLI、GUI client 與連線參數
SQL 基礎與資料庫操作|CREATE DATABASE、USE、SHOW、DROP
Table 與資料型別|CREATE TABLE、INT、VARCHAR、DATETIME、BOOLEAN
INSERT 新增資料|單筆、多筆、預設值與常見錯誤
SELECT 查詢基礎|欄位選擇、WHERE、ORDER BY、LIMIT
UPDATE 與 DELETE|修改、刪除與 WHERE 安全觀念
WHERE 條件查詢|比較、AND/OR、IN、BETWEEN、LIKE、NULL
聚合與分組|COUNT、SUM、AVG、GROUP BY、HAVING
Primary Key 與 Auto Increment|主鍵、唯一識別與 id 設計
Foreign Key 與關聯|一對多、參照完整性與 ON DELETE
JOIN 入門|INNER JOIN、LEFT JOIN 與關聯查詢
資料表設計實戰|users、orders、products 的 schema 設計
Normalization 正規化|重複資料、1NF、2NF、3NF
Index 索引基礎|索引原理、使用時機與寫入成本
EXPLAIN 與查詢分析|執行計畫、type、key、rows
Transaction 交易|BEGIN、COMMIT、ROLLBACK 與 ACID
Isolation Level 與 Lock|dirty read、phantom read 與鎖定概念
User 與權限管理|CREATE USER、GRANT、REVOKE
Backup 與 Restore|mysqldump、restore 與備份策略
Import / Export 資料|CSV、LOAD DATA 與查詢結果匯出
View 與 Stored Object|View、Stored Procedure、Function 概念
MySQL with Docker Compose|volume、healthcheck 與管理工具
App 連線 MySQL|Node.js / backend、connection string 與 connection pool
效能優化基礎|慢查詢、索引、N+1 與查詢設計
Schema Migration|版本管理、migration 與 rollback 風險
資料庫安全|least privilege、secret 管理與 SQL injection
Replication 概念|primary、replica、讀寫分離與 replication lag
常見故障排查|連線、權限、磁碟、lock 與慢查詢
實戰專案總整理|小型電商 schema、查詢、備份與上線檢查