คำสั่ง INSERT
ใช้เพิ่มแถวข้อมูลใหม่เข้าไปในตาราง
1. INSERT แถวเดียวด้วย VALUES
INSERT INTO table_name (col1, col2, ...)
VALUES (expr1, expr2, ...);
รูปแบบเต็ม (รองรับ DEFAULT/NULL)
INSERT INTO table_name (col1, col2, ...)
VALUES (DEFAULT | NULL | expr1, DEFAULT | NULL | expr2, ...);
ใช้ DEFAULT VALUES (ทุกคอลัมน์ใช้ค่าเริ่มต้น)
INSERT INTO table_name (col1, col2, ...)
DEFAULT VALUES;
2. INSERT หลายแถวพร้อมกัน (VALUES หลายชุด)
INSERT INTO table_name (col1, col2, ...)
VALUES (val1, val2, ...),
(val1, val2, ...),
...;
ตัวอย่าง
INSERT INTO nhanvien (nhanvien_id, ho, ten)
VALUES (10, 'Anderson', 'Sarah'),
(11, 'Johnson', 'Dale');
3. INSERT จาก SELECT (Subquery / Table to Table)
INSERT INTO target_table (col1, col2, ...)
SELECT expr1, expr2, ...
FROM source_table
[WHERE condition];
รูปแบบเต็ม (รองรับ TOP/PERCENT)
INSERT [TOP (n) [PERCENT]]
INTO target_table (col1, col2, ...)
SELECT expr1, expr2, ...
FROM source_table
[WHERE condition];
ตัวอย่าง
INSERT INTO danhba (danhba_id, ho, ten)
SELECT nhanvien_id, ho, ten
FROM nhanvien
WHERE nhanvien_id <= 100;
เคล็ดลับ: รัน SELECT COUNT(*) ก่อนเพื่อเช็คจำนวนแถวที่จะ insert
ข้อควรระวัง
- ต้องระบุค่าสำหรับคอลัมน์
NOT NULLทุกคอลัมน์ - คอลัมน์ที่อนุญาต NULL สามารถละเว้นได้ (จะได้ค่า DEFAULT หรือ NULL)
- Identity column ไม่ต้อง (และไม่ควร) ระบุค่าเอง