查看: 1178|回复: 13
|
有关insert excel的资料去mysql database的方法
[复制链接]
|
|
我有超过20~30k的records在excel,请问有什么比较快的方法可以一下子将所有的资料insert进我hosting's mysql database? |
|
|
|
|
|
|
|
发表于 28-4-2006 02:28 PM
|
显示全部楼层
|
|
|
|
|
|
|
楼主 |
发表于 8-5-2006 01:56 PM
|
显示全部楼层
|
|
|
|
|
|
|
楼主 |
发表于 22-5-2006 11:21 AM
|
显示全部楼层
想知道CSV还有什么其他用途。。 因为对他真的不大了解 |
|
|
|
|
|
|
|
发表于 22-5-2006 11:33 AM
|
显示全部楼层
也可以在Excel的Macro里面用OLE Automation的原理,直接从Excel输出资料到Database。 |
|
|
|
|
|
|
|
楼主 |
发表于 22-5-2006 11:43 AM
|
显示全部楼层
但goatstudio的方法比较适合我。。 因为我打算将打好了的excel file里的资料update 到我所租用的hosting里的mysql database...
同时我想问下goatstudio.. 我看了你send给我的link.. 发现是使用txt而不是你说的csv.. 请问是不是两个file extension都可以呢?
真的想知道多点关于csv的资料 |
|
|
|
|
|
|
|
发表于 22-5-2006 07:05 PM
|
显示全部楼层
原帖由 counterking 于 22-5-2006 11:43 AM 发表
但goatstudio的方法比较适合我。。 因为我打算将打好了的excel file里的资料update 到我所租用的hosting里的mysql database...
同时我想问下goatstudio.. 我看了你send给我的link.. 发现是使用txt而不是你 ...
都一样... 重要的是看你的 deliminator. |
|
|
|
|
|
|
|
楼主 |
发表于 22-5-2006 11:30 PM
|
显示全部楼层
参考了goatstudio给我的link (http://dev.mysql.com/doc/refman/4.1/en/load-data.html)我现在已能成功将 *.csv 和 *.txt 的data update 去mysql database! 谢了!
1)我想问下。。除了这两个file extension.. 还有什么是file extension是可以用在这个功能的吗?
2)此外,以下是我在MySQL Query Broswer里执行的sql statement
[ LOAD DATA INFILE 'Book1.csv' INTO TABLE test FIELDS TERMINATED BY ',' ]
请注意如果我要执行成功我一定要写 'book1.csv',然后paste这个file到
"C:\Program Files\MySQL\MySQL Server 4.1\data\DB_testing\"
如果我写[ LOAD DATA INFILE 'C:\Book1.csv' INTO TABLE test FIELDS TERMINATED BY ',' ]
那么error就会出现 -- File 'c:Book1.csv' not found (Errcode: 2)
为何呢? 我明明就是写[ C:\ ] 但就突然变成 [ C: ]
同样情形也发生在我的application.. 的debugging时也是出现类似的error message!
?ex.Message
"ERROR [HYT00] [MySQL][ODBC 3.51 Driver][mysqld-4.1.11-nt]File
'CnetpubwwwrootABCDExcelBook1.csv' not found (Errcode: 2)"
我的sql statement 明明就是
"LOAD DATA INFILE 'C:\Inetpub\wwwroot\ABCD\Excel\Book1.csv' INTO TABLE test FIELDS TERMINATED BY ','"
对不起。。 又麻烦你了 |
|
|
|
|
|
|
|
发表于 23-5-2006 12:17 AM
|
显示全部楼层
1. 任何一个
2. 我忘了我怎么解决... 但你可以尝试一下这样写:
C:\\Program Files\\MySQL\\MySQL Server 4.1\\data\\DB_testing\\ |
|
|
|
|
|
|
|
楼主 |
发表于 23-5-2006 02:07 AM
|
显示全部楼层
谢了。。 问题可以说是暂时解决了..
想请问下为何每次我save excel 去csv时,都会出现这个msg
Book1.csv may contain features tat are not compatible with CSV (comma deslimited), do u want to keep the workboos in tis format?
我没有理这么多就照save了... 但好奇想知道多点关于CSV的功能和用处。。 有谁知道吗?
另外,为何我update mysql 过后,会出现这个符号呢?
[ 本帖最后由 counterking 于 23-5-2006 02:08 AM 编辑 ] |
|
|
|
|
|
|
|
发表于 24-5-2006 01:53 PM
|
显示全部楼层
如果我没猜错... 那应该是文件里的每一行的尾端.
查查看 MySQL 的资料看看是否可以避免尾端的 character. 目前来说你可以用 sql 来做个 mass update 把全部这类 character 去除掉. |
|
|
|
|
|
|
|
楼主 |
发表于 25-5-2006 04:45 PM
|
显示全部楼层
mass update?
是sql query的一种吗? 如何做的呢?
我看了phpmyadmin.. 里面应该没有可以避免尾端的 character的option.. 你有如何头绪吗? |
|
|
|
|
|
|
|
发表于 26-5-2006 09:13 AM
|
显示全部楼层
所谓的 mass update 只是一个形容词... 不是 ms sql 里的功能. 我写一个 sql 来做大量的 update 不就叫 mass update 咯...
你可以在 insert 后这么做:
UPDATE table_name SET column1 = (substring of column1 with length - 1, 也就是说用 mysql 的 function, 来做个 substring, 把后面的奇怪的 character 抽出.) |
|
|
|
|
|
|
|
楼主 |
发表于 26-5-2006 02:19 PM
|
显示全部楼层
我想省切这个mass update的步骤... 有什么办法可以直接避免那个符号的出现呢?
奇怪的是当我在 MySQL Query Broswer save as excel file(*.xls)时,相关的符号并没有出现...??
然而当我用vb.net execute query时,不同的符号出现了
但是当我copy and paste去notepad时,只出现7383633,后面的符号不见了
另外。。 当我用phpmyadmin时, 相关的符号并没有出现.. why??
the follwing is my sql statemnt
LOAD DATA INFILE 'C:\\Inetpub\\wwwroot\\AAMS\\Excel\\Book1.csv' INTO TABLE test FIELDS TERMINATED BY ','
[ 本帖最后由 counterking 于 26-5-2006 05:55 PM 编辑 ] |
|
|
|
|
|
|
| |
本周最热论坛帖子
|