sql查询多记录插入
如何使用MySQL使用单个sql语句插入多条记录:sql查询多记录插入,sql,sql-server-2005,Sql,Sql Server 2005,如何使用MySQL使用单个sql语句插入多条记录: INSERT INTO TABLE (col1, col2) VALUES (val1a, val1b), (val2a, val2b), (valNa, valNb); 您应该使用表类型和大容量插入 编辑: 这可以进一步解释使用任何一种方法。这适用于SQL server,但我对其他数据库不太确定。这两种方法对于一次性插入大量记录都非常有用 对于SQL Server 2005,您可以执行以下操作: INSERT INTO you
INSERT INTO TABLE (col1, col2) VALUES
(val1a, val1b),
(val2a, val2b),
(valNa, valNb);
您应该使用表类型和大容量插入 编辑:
这可以进一步解释使用任何一种方法。这适用于SQL server,但我对其他数据库不太确定。这两种方法对于一次性插入大量记录都非常有用 对于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');
您还可以从子查询中插入多条记录
INSERT INTO TABLE (col1, col2) (select a,b from SUB)
我想sql server 2008在我使用的sql server上支持这一点2005@NoviceToDotNet:对于SQL Server 2005,您必须使用第一个选项。另外,请检查:我如何做到这一点,请让我知道刚刚编辑了我的原始文章-应该给你一些参考。两者都是两种不同的方法,链接中的比较将有助于理解哪种方法在场景中更好。