基礎觀念30 min read

Day 7:認識資料庫(表格與撈資料)

用「互相關聯的 Excel 表格」理解關聯式資料庫,學會 SQL 最基本的新增/讀取/修改/刪除 4 個指令。

幾乎所有的網站背後都有一個資料庫在撐腰——會員資料、訂單紀錄、文章內容,通通存在裡面。今天要用「Excel 表格」的概念,快速搞懂資料庫在幹嘛。這是 13 天轉職甄試衝刺大綱的 Day 7。

📅 前言:資料庫就是很多張互相有關係的 Excel 表格

💡 生活比喻: 想像一間學校有兩張 Excel 表格——一張是「學生名單」,一張是「成績單」。成績單裡不會重複寫學生的姓名、地址這些資料,只會記錄「學號」,再透過學號去「學生名單」表格對照出完整資料。這種「表格之間互相關聯」的資料庫,就叫做關聯式資料庫

⏳ 第 1~10 分鐘:操作資料庫的語言:SQL

SQL 就是用來對資料庫下指令的語言。不管多複雜的系統,對資料庫的操作基本上都逃不出這 4 個動作:

動作SQL 指令白話意思
新增INSERT加一筆新資料進表格
讀取SELECT把資料「撈」出來看
修改UPDATE改掉表格裡某一筆資料
刪除DELETE把某一筆資料移除

⏳ 第 11~25 分鐘:SQL 最小必背(超常考)

假設我們有一張 users(使用者)表格,裡面有 name(姓名)和 age(年齡)兩個欄位。

-- 撈出所有使用者的所有欄位
SELECT * FROM users;

-- 只撈出姓名和年齡,而且只要 18 歲以上的
SELECT name, age FROM users WHERE age >= 18;

-- 新增一筆資料
INSERT INTO users(name, age) VALUES ('Amy', 20);

-- 把 Amy 的年齡改成 21
UPDATE users SET age = 21 WHERE name = 'Amy';

-- 把 Amy 這筆資料刪掉
DELETE FROM users WHERE name = 'Amy';

💡 拆解 SELECT 的邏輯: SELECT 要哪些欄位 FROM 哪張表格 WHERE 篩選條件。念起來就像一句白話:「從 users 表格裡,把符合條件的資料,挑出 name 和 age 這兩個欄位給我」。

⚠️ 新手陷阱:UPDATEDELETE 忘記加 WHERE 如果 UPDATE users SET age = 21; 沒有加 WHERE,代表「表格裡每一筆資料的年齡都會被改成 21」!這是實務上非常危險、容易誤刪全部資料的常見錯誤。

⏳ 第 26~30 分鐘:小練習與解答

練習: 有一張 products(商品)表格,欄位有 name(商品名)、price(價格)、stock(庫存)。

  1. 撈出所有價格超過 500 元的商品(只要商品名和價格)
SELECT name, price FROM products WHERE price > 500;
  1. 新增一個商品:「藍牙耳機」,價格 990,庫存 20
INSERT INTO products(name, price, stock) VALUES ('藍牙耳機', 990, 20);
  1. 把「藍牙耳機」的庫存改成 15
UPDATE products SET stock = 15 WHERE name = '藍牙耳機';

🎯 目標

  • 能解釋什麼是關聯式資料庫
  • 能寫出 SQL 最基本的新增/讀取/修改/刪除 4 個指令