從零開始建立第一張表,掌握 CREATE TABLE、INSERT、SELECT 基礎操作。
| Id | LastName | FirstName | Address | City |
|---|---|---|---|---|
| 1 | Adams | John | Oxford Street | London |
| 2 | Bush | George | Fifth Avenue | New York |
| 3 | Carter | Thomas | Changan Street | Beijing |
CREATE TABLE persons (
id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
LastName VARCHAR(30),
FirstName VARCHAR(30),
Address VARCHAR(30),
City VARCHAR(30)
);
AUTO_INCREMENT:自動遞增主鍵,插入時無需指定。PRIMARY KEY:主鍵約束,確保唯一且非空。VARCHAR(30):可變長度字串,最大 30 字符。DESC persons;
-- 或
SHOW COLUMNS FROM persons;
INSERT INTO persons (LastName, FirstName, Address, City)
VALUES ('Adams', 'John', 'Oxford Street', 'London');
INSERT INTO persons (LastName, FirstName, Address, City)
VALUES ('Bush', 'George', 'Fifth Avenue', 'New York');
INSERT INTO persons (LastName, FirstName, Address, City)
VALUES ('Carter', 'Thomas', 'Changan Street', 'Beijing');
提示:欄位列表可省略(需按表定義順序提供所有值),但明確列出欄位名更安全、可讀性高。
-- 查詢所有
SELECT * FROM persons;
-- 指定欄位
SELECT LastName, FirstName, City FROM persons;
-- 條件查詢
SELECT * FROM persons WHERE City = 'London';
-- 排序
SELECT * FROM persons ORDER BY LastName ASC;
-- 更新
UPDATE persons SET Address = 'Downing Street' WHERE id = 2;
-- 刪除
DELETE FROM persons WHERE id = 3;
| 錯誤 | 正確做法 |
|---|---|
| 字串值未加引號 | 字串、日期必須用單引號:'London' |
| 中文亂碼 | 資料庫/表/連線字符集統一設為 utf8 或 utf8mb4 |
| 忘記 WHERE 條件 | UPDATE/DELETE 必須帶 WHERE,否則影響全表 |
| 主鍵重複報錯 | 使用 AUTO_INCREMENT 或預先檢查唯一性 |
JOIN)COUNT, SUM, AVG, GROUP BY)EXPLAIN 分析START TRANSACTION, COMMIT, ROLLBACK)