Memasukkan beberapa baris dalam satu query SQL?

Saya memiliki beberapa set data untuk menyisipkan sekaligus, katakanlah 4 baris. Tabel saya memiliki tiga kolom: Orang, Id dan Kantor.

INSERT INTO MyTable VALUES ("John", 123, "Lloyds Office");
INSERT INTO MyTable VALUES ("Jane", 124, "Lloyds Office");
INSERT INTO MyTable VALUES ("Billy", 125, "London Office");
INSERT INTO MyTable VALUES ("Miranda", 126, "Bristol Office");

Saya bisa memasukkan semua 4 baris dalam satu pernyataan SQL?

Mengomentari pertanyaan (14)

Di SQL Server 2008 anda bisa menyisipkan beberapa baris menggunakan satu pernyataan SQL INSERT.

INSERT INTO MyTable ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )

Untuk referensi ini untuk melihat MOC Saja 2778A - Menulis Query SQL di SQL Server 2008.

Misalnya:

INSERT INTO MyTable
  ( Column1, Column2, Column3 )
VALUES
  ('John', 123, 'Lloyds Office'), 
  ('Jane', 124, 'Lloyds Office'), 
  ('Billy', 125, 'London Office'),
  ('Miranda', 126, 'Bristol Office');
Komentar (13)

Jika anda memasukkan ke dalam tabel tunggal, anda dapat menuliskan query seperti ini (mungkin hanya dalam MySQL):

INSERT INTO table1 (First, Last)
VALUES
    ('Fred', 'Smith'),
    ('John', 'Smith'),
    ('Michael', 'Smith'),
    ('Robert', 'Smith');
Komentar (10)

CATATAN: jawaban Ini adalah untuk SQL Server 2005. Untuk SQL Server 2008 dan kemudian, ada banyak metode yang lebih baik seperti yang terlihat pada jawaban yang lain.

Anda dapat menggunakan MASUKKAN dengan MEMILIH UNION ALL:

INSERT INTO MyTable  (FirstCol, SecondCol)
    SELECT  'First' ,1
    UNION ALL
SELECT  'Second' ,2
    UNION ALL
SELECT  'Third' ,3
...

Hanya untuk kecil dataset meskipun, yang harus baik-baik saja untuk anda 4 catatan.

Komentar (0)

INSERT pernyataan yang menggunakan nilai-NILAI sintaks dapat menyisipkan beberapa baris. Untuk melakukan hal ini, termasuk beberapa daftar nilai kolom, masing-masing tertutup dalam tanda kurung dan dipisahkan dengan tanda koma.

Contoh:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
Komentar (5)