SQL Insert Multiple Rows
我想在一个表中插入多行。 如何使用单个插入语句执行此操作?
将要插入括号/括号
1 2 3 4 5 6 | INSERT INTO example VALUES (100, 'Name 1', 'Value 1', 'Other 1'), (101, 'Name 2', 'Value 2', 'Other 2'), (102, 'Name 3', 'Value 3', 'Other 3'), (103, 'Name 4', 'Value 4', 'Other 4'); |
您可以使用SQL批量插入语句
1 2 3 4 5 6 7 8 9 10 11 | BULK INSERT TableName FROM 'filePath' WITH ( FIELDTERMINATOR = '','', ROWTERMINATOR = '' '', ROWS_PER_BATCH = 10000, FIRSTROW = 2, TABLOCK ) |
更多参考检查
https://www.google.co.in/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=sql%20bulk%20insert
您也可以批量插入代码中的数据
请检查以下链接:
http://www.codeproject.com/Articles/439843/Handling-BULK-Data-insert-from-CSV-to-SQL-Server
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 1--> {Simple Insertion when table column sequence is known} INSERT INTO Table1 VALUES(1,2,...) 2--> {Simple insertion mention column} INSERT INTO Table1(col2,col4) VALUES(1,2) 3--> {bulk insertion when num of selected collumns of a table(#table2) are equal to Insertion table(Table1) } INSERT INTO Table1 {COLUMN SEQUENCE} SELECT * -- column sequence should be same. FROM #table2 4--> {bulk insertion when you want to insert only into desired column of a table(table1)} INSERT INTO Table1 (Column1,Column2 ....Desired COLUMN FROM Table1) SELECT Column1,Column2..desired COLUMN FROM #table2 |
您可以使用
例如:
1 2 3 4 5 6 | INSERT INTO dbo.MyTable (ID, Name) SELECT 123, 'Timmy' UNION ALL SELECT 124, 'Jonny' UNION ALL SELECT 125, 'Sally' |
点击这里
您可以使用
SQL SERVER – Insert Multiple Records Using One Insert Statement – Use of UNION ALL
对于MSSQL,有两种方法:(考虑您有'用户'表,下面两个示例都使用此表为例)
1)如果需要在users表中插入不同的值。然后你可以写如下语句:
1 2 3 4 5 | INSERT INTO USERS VALUES (2, 'Michael', 'Blythe'), (3, 'Linda', 'Mitchell'), (4, 'Jillian', 'Carson'), (5, 'Garrett', 'Vargas'); |
2)另一种情况,如果你需要为所有行插入相同的值(例如,你需要在这里插入10行)。然后你可以使用下面的示例声明:
1 2 3 | INSERT INTO USERS VALUES (2, 'Michael', 'Blythe') GO 10 |
希望这可以帮助。