mysql导入文件

作者在 2007-03-10 21:40:00 发布以下内容

 

如何将一个EXCEL表格或其他表格文件导入到MYSQL数据库中呢?就目前而言,我还不知道有没有一个简单可行的办法,能过做到将EXCEL表格整个录进去,并且能自动选择所需要的列。自动选择的话可能就要借助一个外部智能程序了,数据库本身应该不会那么聪明,所以,说到底还是需要事先手动选择,那这样的话,传说中使用安装ODBC的方法和导入TXT文件的方法也没有什么两样了。

导入TXT文件到MYSQL数据库:据说是削去了文件名的扩展名并且使用它决定哪个表导入文件的内容《参见MYSQL使用手册中的mysqlimport和LOAD DATA INFILE用法》,那就是说TXT也好,EXCEL也好,都可以直接导入了,但我试了一下,好象EXCEL是不行的。毕竟还不知道导入文件的原理,所以这里我也只能猜测是跟INSERT语句差不多,中间应该要用逗号‘,’隔开吧。但INSERT能选择需要插入的是那几列,但用mysqlimport和LOAD DATA INFILE的话似乎是不能的,只能从第一列到后面的顺序,中间不能没有。

还有的就是如果用LOAD DATA INFILE时在TXT文件中的中间部分有一行中的一个值是在数据库表中是主键,并且以近存在表中,那么当然就会报错,但前面的却导入进去了,只有从这里开始之后的是没有导进去。所以在改掉这个错误之后,要把前面的删掉,才能继续导入。

目前属于初级阶段,所以只有先这样用着,还请各位高手能不吝赐教/

 

更新:其实XLS格式是可以的,而且很方便。用select into outfile 'xxx.xls'把数据导出来的时候可以看见有一个不规范的EXCEL文件,其实跟用EXCEL查看记事本文件一样的,有个好处就是一行一行的都对的很整齐。用XLS的格式的好处就是可以编辑的更规范一些,不会出现有空格的情况。 

  前面说的用TXT文件会存在一个缺陷,就是如果有空格,那么这个空格会被认为是一个空值,也被导进去了,那么整个数据就全错了。用XLS可以防止这些空格捣乱。

另外,还可以用报表插件,网上有很多。但用起来还是有点麻烦。

默认分类 | 阅读 4864 次
文章评论,共0条
游客请输入验证码
浏览39750次