Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

คำสั่ง INSERT ใน SQL Server

คำสั่ง 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 ไม่ต้อง (และไม่ควร) ระบุค่าเอง