SQL插入多行


SQL Insert Multiple Rows

我想在一个表中插入多行。 如何使用单个插入语句执行此操作?


将要插入括号/括号(value1, value2, value3)的每一行值换行,并用逗号分隔括号/括号,以表示要插入表中的数量。

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

您可以使用UNION ALL子句在表中执行多个插入。

例如:

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'

点击这里


您可以使用UNION ALL功能

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

希望这可以帮助。