Database & API · 取得資料

DB / API

從資料庫查,或跟 API 要

拿資料八成走兩條路:資料庫用 SQL 查(自家倉庫),API 跟別人系統要(別人櫃台)。
下面親手玩一次 SQL,看條件怎麼篩出資料。

資料在我家 → SQL;資料在別人家 → API
01 — 白話直覺

兩種最常見的資料取得方式

實務上拿資料,八成走這兩條路:從資料庫(DB)用 SQL 查,或從API跟別人的系統要。前者是「自己倉庫翻貨」,後者是「跟別人櫃台拿貨」。

資料庫 DB

資料存在你能直接連的資料庫裡。用 SQL 查詢,速度快、可做複雜篩選與彙總。分關聯式(MySQL/PostgreSQL)與 NoSQL(MongoDB)。

API

跟外部服務要資料(如天氣、金流、社群)。透過 REST/GraphQL 發請求、拿 JSON 回來。有速率限制、要處理認證與分頁。

簡單分辨:資料在「我家」→ 用 DB/SQL;資料在「別人家」→ 用 API。

02 — 核心互動

看一句 SQL 怎麼篩出你要的資料

SQL 是查資料庫的通用語言。下面有一張訂單表,勾選查詢條件,看 SQL 怎麼變、會撈出哪些列。這是資料工作最基本、最常用的技能。

SELECT 選欄位、FROM 選表、WHERE 篩條件、ORDER BY 排序、LIMIT 取前幾筆——這五個關鍵字就能應付八成的日常查詢。

03 — 選擇與注意

DB vs API 的取捨

優點

  • DB:查詢快、可複雜彙總、資料新鮮
  • API:拿得到外部資料、即時、標準化
  • 兩者都應做錯誤處理與重試

缺點 / 限制

  • DB:要有存取權限與連線安全
  • API:有速率限制、可能要付費
  • API 改版會讓你的程式壞掉

常見工具

🗄️
關聯式 DB
MySQL、PostgreSQL(SQL)
📦
NoSQL
MongoDB、Redis
🔌
API
REST、GraphQL、SDK
04 — 速記與對照

直連 DB vs 透過 API

面向直連資料庫透過 API
存取直接下 SQL 查表呼叫端點(REST)取結果
控制需帳號權限由服務端限定範圍
耦合與資料庫結構綁死介面穩定、解耦
大量資料一次抓快需分頁、限流

自我檢測

用 API 取資料和直連資料庫差在哪?
直連 DB 直接下 SQL、彈性大但與結構耦合;API 由服務端封裝、穩定解耦、含權限與限流,較安全。
取大量資料要注意什麼?
分頁(pagination)、限流(rate limit)、逾時重試、增量抓取(只取新資料),避免一次拉爆。
取 API 資料常見的坑?
忽略分頁只拿到第一頁、超過速率被封、沒處理錯誤碼、時區與編碼不一致。

🎯 重點整理

  1. 直連 DB 彈性大但耦合;API 穩定解耦較安全。
  2. REST 用端點+方法取資源、回 JSON。
  3. 大量資料要分頁、限流、增量抓。
  4. 處理逾時、重試與錯誤碼。
  5. 注意時區、編碼與資料一致性。

📝 iPAS 考點提醒

資料庫與 API 是資料取得與服務化的管道,iPAS 中級科目一與二考點。重點:用 SQL 從資料庫查資料、用 API 串接外部資料源或把模型包成服務供呼叫。易混點:關聯式資料庫(SQL,結構化、強一致)與 NoSQL(彈性、可擴展)用途不同;API 串接要顧驗證、速率限制與錯誤處理。情境:資料管線的擷取端、模型部署的服務化。

想練情境題與詳解 → AI 學習與考證地圖

❓ 常見問題

用 API 取資料和直連資料庫差在哪?

直連 DB 快又彈性(可任意查詢)但需權限且耦合;API 經封裝、較安全可控、跨系統標準化,但受限於端點與速率。

REST API 取資料的基本概念?

用 HTTP 方法(GET 讀取)對資源端點請求、常回 JSON;需處理認證(API key 或 OAuth)、參數、狀態碼與錯誤。

取大量資料要注意什麼?

分頁(pagination)、速率限制與重試、增量擷取(只取新資料)、逾時處理,避免一次抓爆或被擋。

為什麼分析常透過 API 而非直連 DB?

安全與治理(不暴露 DB)、解耦、可控存取與稽核;但即時大量分析仍可能直連倉儲或用資料管線。

取 API 資料的常見坑?

沒處理分頁漏資料、忽略速率限制被封、認證金鑰外洩、資料格式變動沒防護、未做錯誤重試。

🧭 相關主題

← 返回 AI 學習與考證地圖