向MySql数据库导入excel表数据

  最近要开发一个小的答题系统,如果题目人工录入那确实很麻烦。所以想到是不是可以从用一些现有数据格式的文件导入数据。在网上查了一下,看到有关于将excel的数据导入到mysql的方法。所以将题库数据整理成excel的。 
图片

  然后另存为.csv格式的文件。 
  然后在phpmyadmin中选择导入操作。
  但是由于插入的数据出现乱码,失败。 
  查找原因:因为excel默认编码格式为ANSI,而mysql数据库默认的编码方式是utf-8。
  解决办法:我是用editplus将.csv格式的文件打开(打开时将“编码”选择为系统默认即可),然后另存为一份编码为utf-8的文件。(我是只用了editplus进行的这个操作,如果还有其他可行并且方便的软件,朋友们也可以留言交流) 
        
  然后重新执行导入操作。
  所有选项均为默认,导入成功,但是数据表为新建表,并且表明为table 2(该数据库中之前有一张表),并且表的字段名为col1,col2......并且所有字段的类型均为varchar。

图片

  检查后发现,在导入数据时,选择完文件后,会有如下提示
图片

  勾选上,点击执行。
  这次导入的数据表的字段名就是自己在excel中第一行设置的了。 图片


  虽然数据导入到mysql中了,但是和我最初的目的仍有稍许偏差,我是想将excel表中的数据,导入到数据库中对应表中。

  仔细分析后,发现问题可能在于选择导入时,目录级别有问题。 
  前两次选择导入操作的时候,都是在database下操作的。 

  这次在localhost》database》table下选择导入操作。
图片 
        
   一上来就报错,不过貌似数据插入的位置对了。根据提示,错误是主键列。我再新建表的时候,主键列设为自增。 
  先将自增属性去掉试试。 
  依然报错。
  再将主键去掉试试。
图片
  

   数据终于插入进去了,不过excel表中第一行列名也被当做输入插入到数据库中了。 而且编号是从0开始的,这可能是刚才报错的原因。
   为了找出真正原因,重新测试。将表删除重新建立一张空表。
  打开之前另存为utf-8编码的.csv文件,将列名的一行删除并保存文件。
 图片
        
   顺利插入,大功告成,吼吼。 

转载于:https://www.cnblogs.com/iverson-3/p/5862012.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值