高階 · 公開核心+會員工作紙

幾種 SQL 高階:MySQL・PostgreSQL・SQLite・SQL Server・Oracle

公開約 35–50 分鐘 · 會員工作紙另加 · 聯絡 psyche@mail.grokbot.com

學習貼士

學習貼士

  • 先標準 SQL,再對照方言;不要一次背五套。
  • 銜接 Back End/Full Stack/數據分析師路線圖。
  • 關聯式 SQL;語意搜見向量庫課。
  • 示範:demo@cyberai.hk/demo123 解鎖工作紙。

一句話:標準 SQL+五大引擎方言對照;高階選型,不教攻擊。

標準 SQL · 選型表 · MySQL · PostgreSQL · SQLite · SQL Server · Oracle · 差異速查 · 何時選 · 路徑 · 官方 · 會員工作紙

1. 標準 SQL 核心(公開)

ISO/ANSI 共通觀念;各產品大致相容、細節不同。

DDL:CREATE/ALTER/DROP。
DML:SELECT/INSERT/UPDATE/DELETE。
JOIN/聚合/子查詢/視窗:查詢骨架。
交易(ACID):BEGIN/COMMIT/ROLLBACK;隔離等級。
約束:PK/FK/UNIQUE/CHECK/NOT NULL。
參數化:綁定參數,勿字串拼接(防注入底線)。
-- Conceptual portable core (details vary by engine)
SELECT u.id, u.email, COUNT(o.id) AS order_count
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
WHERE u.created_at >= DATE '2024-01-01'
GROUP BY u.id, u.email
HAVING COUNT(o.id) > 0
ORDER BY order_count DESC;

2. 五大引擎選型對照:MySQL/PostgreSQL/SQLite/SQL Server/Oracle(公開)

引擎 方言/定位 何時選
MySQL Web/LAMP;InnoDB 既有生態/託管 MySQL
PostgreSQL 標準+JSON/擴充 新專案/複雜查詢/擴充
SQLite 嵌入式;零伺服器 本機/原型/測試
SQL Server T-SQL;Azure/企業 微軟棧/Azure SQL
Oracle PL/SQL;企業級 企業既有/ERP 鄰近

口訣:本機 SQLite;新開源 → Postgres(或既有 MySQL);微軟 → SQL Server;大型企業 → Oracle。

3. MySQL(公開)

Web 常見;InnoDB 交易;AUTO_INCREMENT/LIMIT;MariaDB 近緣但有差。

  • 優點:生態大、託管多
  • 注意:SQL mode/utf8mb4/版本差異

4. PostgreSQL(公開)

標準+JSONB/擴充;PostGIS/pgvector;IDENTITY/SERIAL。

  • 優點:查詢/擴充/複雜業務
  • 注意:運維曲線;託管變體看官方

5. SQLite(公開)

嵌入式檔案庫;動態型別;STRICT 可選;適合本機/測試。

  • 優點:零運維、易部署
  • 注意:多寫/多客戶端改用伺服器型引擎

6. SQL Server/T-SQL(公開)

T-SQL;TOP/OFFSET FETCH;SSMS/Azure SQL。

  • 優點:微軟生態整合
  • 注意:授權編輯差異;遷移要改寫

7. Oracle SQL/PL/SQL(公開)

企業級;PL/SQL;ROWNUM/SEQUENCE;授權見官方。

  • 優點:企業功能/HA/ERP 鄰近
  • 注意:成本高;綠地專案多先 Postgres/MySQL

8. 方言差異速查(公開・高階)

主題 常見差異(概念層)
分頁 LIMIT vs OFFSET FETCH/TOP vs Oracle 分頁慣例
字串拼接 ||/CONCAT/+
布林 boolean vs 0/1 vs bit
JSON 皆有 JSON,API 各異;Postgres JSONB 強
程序語言 PL/SQL・T-SQL・PL/pgSQL・MySQL 程序互不相通
識別字引用 "…"/`…`/[…]
防衛:參數化+最小權限;不教注入。

9. 何時用哪一種?(公開)

  • 學習/原型:SQLite → 上線前 Postgres(或既有 MySQL)。
  • 新開源 SaaS:優先 PostgreSQL。
  • 既有 LAMP:留在 MySQL/評估 MariaDB。
  • .NET/Azure:SQL Server/Azure SQL。
  • 企業 Oracle/ERP:留 Oracle。
  • AI/RAG:交易用 RDBMS;向量另見向量庫/pgvector。

10. 學習路徑(公開)

  1. 單表 CRUD → JOIN → 聚合 → 視窗
  2. 交易+並發概念
  3. 一個 ORM+看產生的 SQL
  4. 寫下專案選型理由
  5. 索引+EXPLAIN(跟官方)

🔒 會員專屬:選型決策・方言對照・練習清單

解鎖:選型填空、方言表、四週練習、遷移風險。會員 HK$50/月。

登入解鎖 開通會員

常見問題(FAQ)

MySQL 同 PostgreSQL 點揀?

Web/常見 LAMP 多見 MySQL;複雜查詢、JSON/地理擴展常傾 PostgreSQL。本課有選型對照同官方連結。

SQLite 適合生產嗎?

適合嵌入式、本機工具、中小流量或唯讀多場景;高併發寫入通常改用伺服器級引擎。詳見選型段。

會員工作紙有咩?

方言差異練習、選型情境填空與官方文件導讀加深;公開段已涵蓋核心對照。