如何使用单个sql语句插入多个记录
答案 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)