Sql 用100多个数据填充表的存储过程

Sql 用100多个数据填充表的存储过程,sql,sql-server,Sql,Sql Server,我是SQL的新手,我正在寻找一种有效的方法将大量数据(确切地说是600条记录)插入到数据库表中。数据分为4列 到目前为止,我一直在考虑这样做 insert into myTable(col1, col2, col3, col4) values('value 1', 'value 2', 'value 3', 'value 4') 但是输入600张这样的记录并不是一件有趣的事。如何加快向表中添加值的速度?如果这是一项一次性任务,那么我通常会将数据加载到电子表格中,创建一个简单的公式,将此公式复制

我是SQL的新手,我正在寻找一种有效的方法将大量数据(确切地说是600条记录)插入到数据库表中。数据分为4列

到目前为止,我一直在考虑这样做

insert into myTable(col1, col2, col3, col4)
values('value 1', 'value 2', 'value 3', 'value 4')

但是输入600张这样的记录并不是一件有趣的事。如何加快向表中添加值的速度?

如果这是一项一次性任务,那么我通常会将数据加载到电子表格中,创建一个简单的公式,将此公式复制到所有行,然后将结果复制粘贴到SQL脚本中,这样就完成了。无论是600条记录还是100万条记录,这项工作只需几分钟。

简单示例-电子表格如下所示:

+--------+--------+--------+--------+--------------------------------------------------------------------------------------+
|   A    |   B    |   C    |   D    |                                          E                                           |
+--------+--------+--------+--------+--------------------------------------------------------------------------------------+
| col1   | col2   | col3   | col4   | Formula                                                                              |
| val 1  | val 21 | val 1  | val 21 | ="INSERT INTO table( col1, col2, col3) VALUES( '"&A2&"','"&B2&"','"&C2&"','"&D2&"');" |
| val 2  | val 22 | val 2  | val 22 |                                                                                      |
| val 3  | val 23 | val 3  | val 23 |                                                                                      |
| val 4  | val 24 | val 4  | val 24 |                                                                                      |
| val 5  | val 25 | val 5  | val 25 |                                                                                      |
| val 6  | val 26 | val 6  | val 26 |                                                                                      |
| val 7  | val 27 | val 7  | val 27 |                                                                                      |
| val 8  | val 28 | val 8  | val 28 |                                                                                      |
| val 9  | val 29 | val 9  | val 29 |                                                                                      |
| val 10 | val 30 | val 10 | val 30 |                                                                                      |
| val 11 | val 31 | val 11 | val 31 |                                                                                      |
| val 12 | val 32 | val 12 | val 32 |                                                                                      |
| val 13 | val 33 | val 13 | val 33 | 
.....
.....
.....
INSERT INTO table( col1, col2, col3) VALUES( 'val 1','val 21','val 1','val 21');
E列中的公式为:

="INSERT INTO table( col1, col2, col3) VALUES( '"&A2&"','"&B2&"','"&C2&"','"&D2&"');"
此公式的计算结果如下:

+--------+--------+--------+--------+--------------------------------------------------------------------------------------+
|   A    |   B    |   C    |   D    |                                          E                                           |
+--------+--------+--------+--------+--------------------------------------------------------------------------------------+
| col1   | col2   | col3   | col4   | Formula                                                                              |
| val 1  | val 21 | val 1  | val 21 | ="INSERT INTO table( col1, col2, col3) VALUES( '"&A2&"','"&B2&"','"&C2&"','"&D2&"');" |
| val 2  | val 22 | val 2  | val 22 |                                                                                      |
| val 3  | val 23 | val 3  | val 23 |                                                                                      |
| val 4  | val 24 | val 4  | val 24 |                                                                                      |
| val 5  | val 25 | val 5  | val 25 |                                                                                      |
| val 6  | val 26 | val 6  | val 26 |                                                                                      |
| val 7  | val 27 | val 7  | val 27 |                                                                                      |
| val 8  | val 28 | val 8  | val 28 |                                                                                      |
| val 9  | val 29 | val 9  | val 29 |                                                                                      |
| val 10 | val 30 | val 10 | val 30 |                                                                                      |
| val 11 | val 31 | val 11 | val 31 |                                                                                      |
| val 12 | val 32 | val 12 | val 32 |                                                                                      |
| val 13 | val 33 | val 13 | val 33 | 
.....
.....
.....
INSERT INTO table( col1, col2, col3) VALUES( 'val 1','val 21','val 1','val 21');
如果将E列中的公式复制到所有行的单元格中,您将获得一个准备运行的脚本,只需将E列的内容复制到剪贴板并粘贴到文本文件:

INSERT INTO table( col1, col2, col3) VALUES( 'val 1','val 21','val 1','val 21');
INSERT INTO table( col1, col2, col3) VALUES( 'val 2','val 22','val 2','val 22');
INSERT INTO table( col1, col2, col3) VALUES( 'val 3','val 23','val 3','val 23');
INSERT INTO table( col1, col2, col3) VALUES( 'val 4','val 24','val 4','val 24');
INSERT INTO table( col1, col2, col3) VALUES( 'val 5','val 25','val 5','val 25');
INSERT INTO table( col1, col2, col3) VALUES( 'val 6','val 26','val 6','val 26');
INSERT INTO table( col1, col2, col3) VALUES( 'val 7','val 27','val 7','val 27');
INSERT INTO table( col1, col2, col3) VALUES( 'val 8','val 28','val 8','val 28');
INSERT INTO table( col1, col2, col3) VALUES( 'val 9','val 29','val 9','val 29');
INSERT INTO table( col1, col2, col3) VALUES( 'val 10','val 30','val 10','val 30');
INSERT INTO table( col1, col2, col3) VALUES( 'val 11','val 31','val 11','val 31');
INSERT INTO table( col1, col2, col3) VALUES( 'val 12','val 32','val 12','val 32');
INSERT INTO table( col1, col2, col3) VALUES( 'val 13','val 33','val 13','val 33');
INSERT INTO table( col1, col2, col3) VALUES( 'val 14','val 34','val 14','val 34');
INSERT INTO table( col1, col2, col3) VALUES( 'val 15','val 35','val 15','val 35');
INSERT INTO table( col1, col2, col3) VALUES( 'val 16','val 36','val 16','val 36');
...
...
...

若你们的数据已经是数字格式,你们可以编写一个脚本(php,excel公式,…),生成你们的insert语句。在您复制/通过数据库管理器(phpMyAdmin、Toad、sqldeveloper等)之后,@Camille-这似乎是个好主意。值得一试。下划线\u d-抱歉,如果是SQL Server,我更新了标题,并且使用SSMS,我的转到此处将是数据导入向导。您的输入看起来如何?cvs文件还是什么?你能发一封信吗example@GuidoG-不,它是一个.txt文件。但是我要把它放到excel文件中,然后将数据导入SQLExcelle!,正是我要找的!。谢谢