SQL 簡介與環境設置
什麼是 SQL?
比喻:SQL 就像圖書館的查詢系統 📚
想像你去一間超大圖書館,裡面有幾百萬本書。 你不可能自己一本一本翻找——你需要一個查詢系統。 SQL 就是這個查詢系統,讓你用簡單的指令找到你要的資料。
SQL(Structured Query Language)是操作關聯式資料庫的標準語言。
你(使用者) → SQL 指令 → 資料庫 → 回傳結果
關聯式資料庫是什麼?
資料庫把資料存在**表格(Table)**裡,就像 Excel 的工作表。
┌─────────────────────────────────────┐
│ Students 表 │
├────┬──────────┬─────┬───────────────┤
│ Id │ Name │ Age │ Email │
├────┼──────────┼─────┼───────────────┤
│ 1 │ 小明 │ 20 │ ming@test.com │
│ 2 │ 小華 │ 22 │ hua@test.com │
│ 3 │ 小美 │ 21 │ mei@test.com │
└────┴──────────┴─────┴───────────────┘
- 行(Row) = 一筆資料(一個學生)
- 欄(Column) = 一個欄位(姓名、年齡...)
- 主鍵(Primary Key) = 每筆資料的唯一識別碼(Id)
常見的資料庫系統
| 資料庫 | 特點 | 常見用途 |
|---|---|---|
| PostgreSQL | 功能強大、免費開源 | Web 應用、企業 |
| SQL Server | 微軟出品、與 .NET 整合好 | 企業、政府 |
| MySQL | 輕量、廣泛使用 | WordPress、小型 |
| SQLite | 檔案型、零設定 | 手機 App、嵌入式 |
SQL 的四大類指令
-- 1. DDL(Data Definition Language)— 定義結構
CREATE TABLE ... -- 建立表格
ALTER TABLE ... -- 修改表格結構
DROP TABLE ... -- 刪除表格
-- 2. DML(Data Manipulation Language)— 操作資料
SELECT ... -- 查詢資料
INSERT INTO ... -- 新增資料
UPDATE ... -- 修改資料
DELETE FROM ... -- 刪除資料
-- 3. DCL(Data Control Language)— 權限控制
GRANT ... -- 授予權限
REVOKE ... -- 撤銷權限
-- 4. TCL(Transaction Control Language)— 交易控制
BEGIN TRANSACTION -- 開始交易
COMMIT -- 確認交易
ROLLBACK -- 取消交易
本系列教學環境
本系列使用 PostgreSQL 語法為主,大部分語法通用於各資料庫。
💡 提醒: SQL 關鍵字不分大小寫,但慣例用大寫以便閱讀。
SELECT和select效果相同,但SELECT更清楚。
下一章我們開始寫第一個查詢!