最新消息:点击查看大S的省钱秘笈

从phpMyAdmin批量导入Excel内容到MySQL

电脑技巧 Slyar 529浏览 0评论

文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

之前发了《表达式变量批量替换器 batchSQL》这篇文章,有童鞋说导入数据用phpMyAdmin提供的csv导入功能不是更好。的确,导入数据进入mysql用这个功能非常好,不过如果需要进行批量操作的是update或者其他操作呢,例如要从新的excel里批量更新某一部分的数据,总不能全部删除重建表吧,那个小软件最大的优点就是随意性强,因为SQL命令可以随便我们自己写。

好了,现在我来介绍一下如何利用phpMyAdmin批量导入Excel内容到MySQL。首先你要知道phpMyAdmin是什么(不知道的这篇文章可以跳过了),我今天用的版本是phpMyAdmin 3.2.4,MySQL的版本是5.1.41。

1、第一步我们得到了一个excel表,里面有很多需要我们导入的数据。

2、删除第1行"准考证号""XXX"....只保留我们需要的数据部分。

3、单击"文件"--"另存为",类型选择为"CSV(逗号分隔)(*.csv)",将excel表另存为csv文档。中间不管提示什么一律"是"就好了...

4、重点!另存为的slyar.csv是可以用记事本或者Editplus等文本编辑器打开的,我们打开来看一下。

可以看到其实csv文档就是txt(即你可以使用自己的txt然后换个后缀名就行),只不过把各个字段之间用","分隔开了而已。既然它是txt文档,那么就涉及到了文件编码的问题!默认保存的文件编码是ANSI,如果你的数据库(数据表)使用UTF-8编码,那么一定要将这个csv文件另存为UTF-8格式!

5、进入phpMyAdmin创建一个表,新建字段,字段名与你要导入的excel表字段关联且顺序相同。太简单,不截图了。

6、在phpMyAdmin中打开你创建的表,在最上面单击"导入"。

7、"导入文件的格式"选择第二个"CSV 使用 LOAD DATA"

8、"要导入的文件"选择你刚才另存为的csv文件。

9、"字段分隔符"更改为",",就是excel另存为默认选择的"(逗号分隔)",你可以自由选择分隔符,通常出现在你的excel表格数据里有","的情况下。

10、"字段名"是个高级应用,这里的字段名是你数据表里的字段名,它表示你要进行填充的字段,多个字段之间用","隔开。这里为空表示全部填充,并且按顺序填充,多余的数据不要。

10、检查没问题就可以按"执行"了。

11、"导入成功,执行了 1 个查询"。看到这个就表示成功了,如果导入不成功请从头到尾再仔细对照本文重做一次,如果还不行请往下看...

12、某些excel导出的数据可能会变得很奇怪,例如中间会有特殊字符神马神马的,总之如果这个方法不行的话,你还是可以去用我之前写的那个软件...

End.

转载请注明:Slyar Home » 从phpMyAdmin批量导入Excel内容到MySQL

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (4)

  1. 如果导入的数据库里面的字段含有自增字段怎么弄呢?导入这个字段内容是空还是?
    ShunYea4年前 (2013-02-02)回复
  2. @joypark 没有问题,只是考虑到对大多数人来说excel太不熟悉了...=_=
    Slyar6年前 (2011-04-23)回复
  3. 我也有个excel导入到mysql的方法,呵呵。你可以对比一下。 一、假设你的表格有A、B、C三列数据,希望导入到你的数据库中表格table,对应的字段分别是col1、col2、col3 二、在你的表格中增加一列,利用excel的公式自动生成sql语句,具体方法如下: 1、增加一列(假设是D列) 2、在第一行的D列,就是D1中输入公式: =CONCATENATE("insert into table (col1,col2,col3) values ('",A1,"','",B1,"','",C1,"');") 3、此时D1已经生成了如下的sql语句: insert into table (col1,col2,col3) values ('a','11','33'); 4、将D1的公式复制到所有行的D列(就是用鼠标点住D1单元格的右下角一直拖拽下去啦) 5、此时D列已经生成了所有的sql语句 6、把D列复制到一个纯文本文件中,假设为sql.txt 三、把sql.txt放到数据库中运行即可,你可以用命令行导入,也可以用phpadmin运行。
    joypark6年前 (2011-04-23)回复