向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文件,将列名的一行删除并保存文件。
顺利插入,大功告成,吼吼。
向MySql数据库导入excel表数据的更多相关文章
- 使用phpExcel向mysql数据库导入excel
使用phpExcel向mysql数据库导入excel from:http://blog.163.com/dustye_l/blog/static/172439513201242491016834/ 使 ...
- C# winform 编程 向ACCESS数据库导入EXCEL表使用心得
public string MyConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ErLake.mdb&quo ...
- 黑马MySQL数据库学习day02 表数据CRUD 约束CRUD
/* 基础查询练习: 1.字段列表查询 当查询全部字段时,一种简便方式,使用*代替全部字段(企业中不推荐使用) 2.去除重复行 DISTINCT,注意修饰的是行,也就是整个字段列表,而不是单个字段. ...
- 数据库导出excel表数据
- 执行之前 (错误) 消息 错误 0xc0202009: 数据流任务 1: SSIS 错误代码 DTS_E_OLEDBERROR.出现 OLE DB 错误.错误代码: 0x80040E37. (S ...
- MySql数据库之单表数据查询
查询数据 1.查询所有数据: select * from 表名; 2.根据指定条件查询数据:
- Excel表数据导入数据库表中
***Excel表数据导入到数据库表中 通过数据库表的模板做成‘Excel’表的数据导入到数据库相应的表中(注意:主表 和 从表的关系,要先导‘主表’在导入从表) 过程:通过数据库的导入工具—先导入为 ...
- Sqlserver 连接oracle和mysql数据库 已经oracle导入sqlserver表数据
SQL Server2012创建连接服务器到ORACLE11G 8,百思考不知道原因啊??突然我发现如下:链接服务器—〉访问接口—〉OraOLEDB.Oracle—〉允许进程内没有勾上,但是我想上面的 ...
- Excel表数据导入Sql Server数据库中
Excel表数据导入Sql Server数据库的方法很多,这里只是介绍了其中一种: 1.首先,我们要先在test数据库中新建一个my_test表,该表具有三个字段tid int类型, tname nv ...
- MySQL批量导入Excel数据
MySQL批量导入Excel数据 1.确定需要导入数据的表名称以及字段,然后在新建的Excel表中,按照表字段正确排序:(注:(Excel文件的名称最好和数据库的名称一致,sheet表的名字最好和表名 ...
随机推荐
- js中定义类的方式
- Form提交是会刷新页面的
今天发现如果页面中有form,点击提交按钮是会刷新页面的,为了禁止页面刷新行为,可以这么做: <form class="form-horizontal" id="u ...
- 初学c# -- 学习笔记(二)
接着前面的学习,对话建立了,下面就写对话框气泡,和微信的差不多那种.尖角对话气泡网上一堆,圆尖角的修改了一个.IE8以下不能用,其他都可以用,直接上html代码,将<style>内容用到你 ...
- java 基本语法
标识符 标识符就是给变量.类或方法起的名字. 标识符由26个英文字符大小写(a~zA~Z).数字(0~9).下划线(_)和美元符号($)组成 不能以数字开头,不能是关键字 严格区分大小写 标识符的可以 ...
- 苹果手机overflow:auto的卡顿
如果你对某个div或模块使用了overflow: scroll属性,在iOS系统的手机上浏览时,则会出现明显的卡顿现象.但是在android系统的手机上则不会出现该问题 通过一个早上的百度搜索和与前端 ...
- String类字符串截取示范
package it.com; // 要求:對字符串“jflksjdfnbalkdfjnbaddddnbahhuhnbauuuuahnbahdfunbadhfudf”进行检索:判断有多少个nba; / ...
- 【UVA11082】Matrix Decompressing(有上下界的网络流)
题意:给出一个矩阵前i列所有元素的和,和前j行所有元素的和,求这个矩阵解压以后的原型.(答案不唯一) n,m<=20,1<=a[i,j]<=20 思路:这道题把边上的流量作为原先矩阵 ...
- MySQL的存储引擎
MySQL的一个重要特性就是支持插件式存储引擎.其存储引擎接口定义良好,有兴趣的开发者可以通过阅读文档编写自己的存储引擎. 接下来简单介绍一下MySQL的常见存储引擎: 一.MyISAM MySQL ...
- 调用别人提供的WebService
在开发过程中,许多时候需要使用到别人提供的WebService接口,使用其中的方法. 在调用别人提供的接口时,会得到接口使用的文档,其中包括接口的网络地址及方法作用等. 找到WebService的ws ...
- git 常用操作
查看某文件的某些行的变化历史: $ git log --pretty=short -u -L 2003,2005:Executor.cpp http://stackoverflow.com/quest ...