multiple - sql server insert data
在單個SQL查詢中插入多行? (3)
這個問題在這裡已經有了答案:
我有多組數據可以一次插入,比如4行。
我的桌子有三列: Person
, Id
和Office
。
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行嗎?
注意:此答案適用於SQL Server 2005.對於SQL Server 2008和更高版本,其他答案中有更好的方法。
你可以使用INSERT和SELECT UNION ALL :
INSERT INTO MyTable (FirstCol, SecondCol)
SELECT 'First' ,1
UNION ALL
SELECT 'Second' ,2
UNION ALL
SELECT 'Third' ,3
...
儘管如此,對於小數據集來說,對於您的4條記錄來說應該沒問題。
使用VALUES
語法的INSERT
語句可以插入多行。 為此,請包含多個列值列表,每個列表值都包含在括號內,並用逗號分隔。
例:
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
如果您插入到單個表中,則可以像這樣編寫查詢(可能僅在MySQL中):
INSERT INTO table1 (First, Last)
VALUES
('Fred', 'Smith'),
('John', 'Smith'),
('Michael', 'Smith'),
('Robert', 'Smith');