sql查询多个记录插入

时间:2010-08-27 10:35:50

标签: sql sql-server-2005

如何使用单个sql语句插入多个记录

4 个答案:

答案 0 :(得分:3)

对于SQL Server 2005,您可以执行以下操作:

INSERT INTO your_table (id, field_1, field_2)
   SELECT 1, 'some-data-a', 'some-data-1'
   UNION ALL
   SELECT 2, 'some-data-b', 'some-data-2'
   UNION ALL
   SELECT 3, 'some-data-c', 'some-data-3'
   UNION ALL
   SELECT 4, 'some-data-d', 'some-data-4';

在大多数现代DBMS中,包括SQL Server 2008和MySQL 5,您可以使用更简洁的语法:

INSERT INTO your_table (id, field_1, field_2) VALUES
   (1, 'some-data-a', 'some-data-1'),
   (2, 'some-data-b', 'some-data-2'),
   (3, 'some-data-c', 'some-data-3'),
   (4, 'some-data-d', 'some-data-4');

答案 1 :(得分:0)

使用MySQL:

INSERT INTO TABLE (col1, col2) VALUES
  (val1a, val1b),
  (val2a, val2b),
  (valNa, valNb);

答案 2 :(得分:0)

您应该使用表格类型并使用批量插入。

编辑: http://msdn.microsoft.com/en-us/library/bb510489.aspx

这可以进一步解释使用任何一个。这适用于SQL服务器,我对其他数据库不太确定。两者对于一次插入大量记录非常有用。

答案 3 :(得分:0)

您也可以从子查询中插入多个记录。

INSERT INTO TABLE (col1, col2) (select a,b from SUB)