基礎觀念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 這兩個欄位給我」。
⚠️ 新手陷阱:
UPDATE和DELETE忘記加WHERE。 如果UPDATE users SET age = 21;沒有加WHERE,代表「表格裡每一筆資料的年齡都會被改成 21」!這是實務上非常危險、容易誤刪全部資料的常見錯誤。
⏳ 第 26~30 分鐘:小練習與解答
練習: 有一張 products(商品)表格,欄位有 name(商品名)、price(價格)、stock(庫存)。
- 撈出所有價格超過 500 元的商品(只要商品名和價格)
SELECT name, price FROM products WHERE price > 500;
- 新增一個商品:「藍牙耳機」,價格 990,庫存 20
INSERT INTO products(name, price, stock) VALUES ('藍牙耳機', 990, 20);
- 把「藍牙耳機」的庫存改成 15
UPDATE products SET stock = 15 WHERE name = '藍牙耳機';
🎯 目標
- 能解釋什麼是關聯式資料庫
- 能寫出 SQL 最基本的新增/讀取/修改/刪除 4 個指令