在mysql数据库中插入很多行

时间:2014-08-22 09:57:14

标签: mysql excel

我有大约400,000行。我有一个包含所有数据的MS excel文件。 所以我将ms excel行更改为例如:

INSERT INTO `numberlist`(`Names`, `Numbers`) VALUES ("  Amdadul  Haque >Haque >Sun    Island     > > >  "," 7899975 ");

但插入在300秒后失败,无论如何要做到这一点?我甚至无法将excel文件转换为sql。

我在Windows 7 32位中使用xampp。

2 个答案:

答案 0 :(得分:1)

您可以使用以下MySQL语法

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);

查询的长度通常受max_allowed_pa​​cket的限制。 但是,根据查询中的数据长度,您可以在单个查询中轻松添加大约200-300行。

这应该可以解决您的问题。 我假设你正在使用MySQL数据库。在查询中没有提到它。 MS SQL Server 2008及更高版本也支持这种查询格式。

对于其他数据库,您可以查看手册以查看类似的解决方案。

答案 1 :(得分:0)

1)将Excel数据另存为csv文件(在Excel 2007中使用“另存为”)

2)使用文本编辑器(如记事本)检查保存的文件,看看它实际上是什么样的,即使用了什么分隔符等。

3)启动MySQL命令提示符

4)使用以下脚本

LOAD DATA LOCAL INFILE 'C:\\temp\\yourfile.csv' INTO TABLE database.table FIELDS TERMINATED BY ';' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' (field1, field2);

5)完成!

参考链接:http://blog.tjitjing.com/index.php/2008/02/import-excel-data-into-mysql-in-5-easy.html