SQL 筆記:新增資料 INSERT INTO
在 SQL 裡,INSERT
語法用來新增資料,屬於 CRUD 四大操作中的 Create 部分。
INSERT INTO 基本語法:指定欄位與對應值
INSERT INTO 表名稱 (欄位1, 欄位2, 欄位3, ...)
VALUES (值1, 值2, 值3, ...);
範例:
假設有一個 users
表格如下:
id | name | age | |
---|---|---|---|
1 | Simon | Simon@mail.com | 25 |
2 | Allen | Allen@mail.com | 30 |
現在要新增一個使用者:
INSERT INTO users (name, email, age)
VALUES ('Charlie', 'charlie@example.com', 28);
精簡語法:不指定欄位,直接塞值
INSERT INTO 表名稱
VALUES (值1, 值2, 值3, ...);
這個寫法雖然比較簡潔,但風險也比較高。因為必須確保欄位的順序、數量、型態與表格定義完全一致,否則就可能會資料寫錯欄位,甚至執行失敗。
範例(基於上面的 users
表格):
INSERT INTO users
VALUES (3, 'Daisy', 'daisy@mail.com', 22);
部分欄位新增
不一定要一次填滿所有欄位。只要該欄位允許為 NULL
,或有預設值就可以不提供對應值。
INSERT INTO users (name, email)
VALUES ('Eva', 'eva@mail.com');
在這個例子中,假設 age
欄位允許為 NULL
或有預設值,這樣的語法就能成功執行,而 age
欄位會顯示為空或預設值。
一次新增多筆資料
也可以一口氣新增多筆資料,適合匯入初始資料或加快效能。
INSERT INTO users (name, email, age)
VALUES
('Frank', 'frank@mail.com', 33),
('Grace', 'grace@mail.com', 27),
('Henry', 'henry@mail.com', 31);
這樣比起一筆筆 INSERT
,在效能與可讀性上都更好一些。
結語
INSERT
是每個資料表的起點,就像填寫表單一樣,清楚明確的資料輸入方式能讓整個資料系統更穩定、好維護。