有的时候我们需要一次像数据库中添加多条记录,我们可以使用下面的语句来实现:
- --添加一条记录
- INSERT INTO tableName(col1,col2,col3) VALUES (1,2,3)
- --添加多条记录
- INSERT INTO tableName(col1,col2,col3)
- SELECT 3,4,5
- UNION ALL
- SELECT 6,7,8
- --从另外的一张表中读取多条数据添加到新表中
- INSERT INTO tableName(col1,col2,col3)
- SELECT a,b,c FROM tableA
- --从其他的多张表中读取数据添加到新表中
- INSERT INTO tableName(col1,col2,col3)
- SELECT a,b,c FROM tableA WHERE a=1
- UNION ALL
- SELECT a,b,c FROM tableB WHERE a=2
上边代码中的into都可以省略!
上边代码中的union all如果换成union,则相同记录只插入一次,不会重复插入。
另外一种方法是SQL Server2008特有的,所以,如果你不是SQL Server2008,就不能使用这种方法了。
INSERT INTO MyTable(ID,NAME)VALUES(7,'003'),(8,'004'),(9,'005')