向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表的名字最好和表名 ...
随机推荐
- jquery each循环,
jquery each循环,要实现break和continue的功能: break----用return false; continue --用return ture; each()函数是基本上所有的 ...
- [原创.数据可视化系列之六]使用openlyaers进行公网地图剪切
进行地图开发的过程中,我一般使用天地图或者微软的地图作为地图,因为这两种地图的经纬度偏差最小,基本可以满足用户需求,比如: 不用说,都是全部地图,这也是最常用的一种方法. 但是用户说,我只看大连的地图 ...
- 北邮oj 题
题目描述 Every year,prince prepares a birthday gift for princess.The gift is a box,which is decorated wi ...
- 利用C++不使用递归,循环和goto,打印1到100 的某一答案分析
实验环境是在64位linux下使用g++编译器 下面是Mark Gordon的答案 The below one works on my system, can't guarantee res ...
- SQL Server 2008 修改表所有者,架构
ALTER SCHEMA 新架构 TRANSFER 旧架构.对象名称
- iOS 9/10强制使用https访问网络,使用了第三方SDK的应用需要配置的信息
2017年01月01日起苹果将全面禁止使用http来访问网络. 网上扒了一些资源,解决方法还是有的,但是都不确定是否可以通过审核,毕竟实践才是检验真理的唯一标准. 后续如果上线成功,再来分享. 如果应 ...
- 什么是IO流 \ 以及文件输入输出
一.IO流的分类: 流按照操作数据的类型分为两种:字节流:字符流. 1.什么是字节流:读取的是文件的二进制数据,不会对二进制做处理,不会解析成看得懂的数据. 2.什么是字符流:读取的是文件的二进制数据 ...
- centos查看系统cpu个数、核心书、线程数
1.查看物理cpu个数 grep 'physical id' /proc/cpuinfo | sort -u | wc -l 2.查看核心数量 grep 'core id' /proc/cpuinfo ...
- 记录视频“ Why I build Docker"
Why we built Docker ? IT界中云计算革命正在如火如荼的进行着,docker 正在引领着这个潮流. 那么docker 是怎么引进来的呢? Docker的CTO在下面视频里如此清晰的 ...
- 基类用的this指针
结论:基类构造函数中的this指针指向的是派生类的对象 测试代码: #include <iostream> using namespace std; class father; fathe ...