這個問題在這裏已有答案: sql
我有一組數據要一次插入,好比4行。 spa
個人表有三列: Person
, Id
和Office
。 code
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");
我能夠在一個SQL statement
insert
全部4行嗎? server
若是要插入單個表,則能夠像這樣編寫查詢(可能只在MySQL中): blog
INSERT INTO table1 (First, Last) VALUES ('Fred', 'Smith'), ('John', 'Smith'), ('Michael', 'Smith'), ('Robert', 'Smith');
注意:此答案適用於SQL Server 2005.對於SQL Server 2008及更高版本,有更好的方法,如其餘答案中所示。 ip
您能夠在SELECT UNION ALL中使用INSERT : get
INSERT INTO MyTable (FirstCol, SecondCol) SELECT 'First' ,1 UNION ALL SELECT 'Second' ,2 UNION ALL SELECT 'Third' ,3 ...
僅適用於小型數據集,對於您的4條記錄應該沒問題。 it
在SQL Server 2008中,您能夠使用單個SQL INSERT語句插入多行。 io
INSERT INTO MyTable ( Column1, Column2 ) VALUES ( Value1, Value2 ), ( Value1, Value2 )
有關參考,請參閱MOC課程2778A - 在SQL Server 2008中編寫SQL查詢。 table
例如:
INSERT INTO MyTable ( Column1, Column2, Column3 ) VALUES ('John', 123, 'Lloyds Office'), ('Jane', 124, 'Lloyds Office'), ('Billy', 125, 'London Office'), ('Miranda', 126, 'Bristol Office');
使用VALUES
語法的INSERT
語句能夠插入多行。 爲此,請包含多個列值列表,每一個列值都括在括號內並用逗號分隔。
例:
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);