我有大约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。
答案 0 :(得分:1)
您可以使用以下MySQL语法
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
查询的长度通常受max_allowed_packet的限制。 但是,根据查询中的数据长度,您可以在单个查询中轻松添加大约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