跳轉至

建立 2025-02-12 更新 2026-10-03

資料庫使用教學

資料庫(Database)是有系統地儲存、查詢與維護資料的軟體,幾乎所有網站、App 與資料分析專案都依賴它。本站用最淺顯的方式,帶你從關聯式資料庫的核心觀念與 SQL 語法開始,學會 SQLite、PostgreSQL、MySQL 三個最常見的資料庫,再用 Python 與 SQLAlchemy 在程式裡存取資料。

最重要的 20%:先學會這些就夠用

學資料庫不需要一開始就讀完整本教科書。下面這幾項,涵蓋了日常開發八成以上會用到的知識:

  • 資料表思維


    資料以「表格(table)+列(row)+欄(column)」組織;用主鍵(Primary Key)識別每一列,用外鍵(Foreign Key)串起不同表。

    關聯式資料庫核心觀念

  • 四個 SQL 動作


    SELECT、INSERT、UPDATE、DELETE(俗稱 CRUD),再加上 WHERE 篩選、JOIN 合併、GROUP BY 統計。

    SQL 必學語法

  • 交易與索引


    交易(Transaction)保證一組操作全部成功或全部取消;索引(Index)讓查詢從「翻整本書」變成「查目錄」。

    交易與 ACID

  • 程式存取三步驟


    連線 → 用參數化查詢執行 SQL → commit 後關閉連線。不論哪種資料庫,Python 的寫法幾乎一樣。

    Python DB-API

建議學習路線

  1. 資料庫基礎:先看 關聯式資料庫核心觀念,再練 SQL 必學語法。
  2. 從 SQLite 開始動手:SQLite 不用安裝伺服器,Python 內建就能用,最適合練習。
  3. 認識伺服器型資料庫:依需求選 PostgreSQL 或 MySQL,學會用 Docker 快速啟動。
  4. 在程式中使用資料庫:讀 Python DB-API 掌握共通寫法,再學 SQLAlchemy 讓程式碼可以跨資料庫。
  5. 搭配好用的工具:用 資料庫管理工具 視覺化地瀏覽資料表與執行查詢。
  6. 看影片加深印象:影音教學總覽 整理了官方與 YouTube 上的優質教學。

三種資料庫怎麼選?

資料庫 類型 適合情境 安裝難度
SQLite 嵌入式(單一檔案) 學習、桌面/手機 App、小型網站、資料分析 免安裝,Python 內建
PostgreSQL 用戶端-伺服器 功能完整的正式產品、複雜查詢、地理資料 需安裝或用 Docker
MySQL / MariaDB 用戶端-伺服器 網站後端(WordPress、PHP 生態系)、讀取量大的服務 需安裝或用 Docker

不知道選哪個?

學習與個人專案先用 SQLite;要上線給多人同時使用時,新專案建議 PostgreSQL。因為 SQL 語法大同小異,學會一個之後換另一個很快。

先看一支影片暖身

SQL Explained in 100 Seconds(Fireship)

簡述:用 100 秒說明 SQL 是什麼、資料表與查詢長什麼樣子,適合完全沒接觸過資料庫的人先建立印象。

更多官方與優質教學影片,請見 影音教學總覽。

常見問題

學資料庫一定要先會程式嗎?

不需要。SQL 是獨立的查詢語言,可以先在 DB Browser for SQLite 或 DBeaver 這類工具裡直接練習;等要把資料庫接進應用程式時,再學 Python 的存取方式。

SQL 和 NoSQL 差在哪?

SQL 資料庫(關聯式資料庫)用固定結構的資料表儲存資料,擅長需要一致性與複雜查詢的場景;NoSQL 資料庫(例如 MongoDB、Redis)結構較彈性,擅長特定存取模式或超大規模分散。本站專注於最常用、也最值得先學的關聯式資料庫。

SQLite 可以用在正式產品嗎?

可以。SQLite 是全世界部署量最大的資料庫,內建於每支手機與瀏覽器中。它的限制在於同一時間只能有一個寫入者,所以不適合大量使用者同時寫入的網站後端,這時應改用 PostgreSQL 或 MySQL。