Excel数据导入Mysql常见问题汇总 您所在的位置:网站首页 excel建立数据库怎么做 Excel数据导入Mysql常见问题汇总

Excel数据导入Mysql常见问题汇总

2023-05-06 11:36| 来源: 网络整理| 查看: 265

【问】如何将excel数据导入mysql?

使用mysql可视化客户端工具navicat来导入,还没有使用过这个工具的,可以参考这个教程:

猴子:Mysql客户端:Navicat安装教程及问题汇总

第1步,按下图选择“导入向导”

(注意下图第3步,选择的要和实际excel文件类型一致)

第2步,选择Excel文件数据源

按下图选择需要导入的 Excel 文件在电脑上哪个位置。

第3步,选择需要导入的表

第4步, 为源定义一些附加选项

如果excel数据量大,可以在导入过程中的下面的界面设置分批导入。“开始行”和“结束行”设置那里可以决定导入哪个范围的数据。

比如你有100万行的数据,第1次导入在“开始行”那里设置为2(表示从第2行开始导入数据,因为第1行是列字段名),在“结束行”那里设置为10000(表示导入到第1000行结束),这样你就把前10000行数据导入数据库。

第2次分批导入,在“开始行”那里设置10001(表示从接着前面第1次导入的位置开始导入,所以在前面导入的行数1000上加1,就是10001),“结束行”那里设置为20000。每次分批导入依次类推。

第5步,选择往哪个表里导入数据

如果是像新数据库表里导入数据,在下面“新建表”那里打钩。

如果是像已有的数据库表里导入数据,不需要在“新建表”那里打钩。

第6步, 定义源表(excel表)和目标表(数据库表)的对应关系

如果目标表(数据库表)设置了主键,在这一步按你的业务需求,在对应目标栏目的主键那里一定要勾选,否则后面不能选更新模式。

【注意】有的数据本身可能没有列名,第1行就是数据,例如下面:

这时候先导入数据,导入完成以后,再在navicat里使用可视化界面修改成列名就可以了。

你注意到上面的图片也没有设置主键,是因为有的数据在业务上没有主键,这时候就不需要设置。这个要根据自己的实际业务需求来灵活处理。

如果这一步字段太多,不能一次添加完怎么办?

这就用到了下面第7步中添加模式的更新模式,用更新模式的前提是栏位对应的时候,要把主键添加上,这样分两次导入,添加栏位时将没有导入的字段添加上,这样就会更新原来没有添加上的字段。

第7步,选择导入模式

根据具体情况我们可以选择不同的选项。如果是新表,我们选择第一项——添加:添加记录到目标表。

第8步,点击“开始”按钮执行导入命令

导入完成后还会有一个导入结果的消息提示,可以看是否导入成功,以及报错的原因是什么。

下面是常见导入错误,解决办法。

【问】如何查看excel导入mysql的报错信息?

【问】Navicat导入excel的xlsx文件提示无法打开文件?

【答】按下面方案逐一尝试

方案一:在导入的时候excel必须是打开的状态,再使用navicat导入

方案三:去微软官网下载一个AccessDatabaseEngine,安装后,再执行导入excel

方案三:打开excel文件另存为.xls或者.csv文件,然后再选择对应的格式导入试试。但是要注意下面的错误

【问】如何将Excel表头作为mysql字段?

【问】excel导入数据库乱时,总是乱码,无法导入

报错信息:1366: Incorrect string value: \xE8\xAF\xA6\xE7\xBB\x86: for column

1)数据库设置编码具体操作步骤参考下图:

下图的编码设置成和excel表一样的编码。

【问】Navicat导入大数据的Excel文件失败,数据量过大

例如:有个Excel数据,有20W行数据,是xlsx格式的,想要使用 Navicat premium 直接导入到mysql中,但是,导入完成后只导入了3000多条,且没有提示导入错误。

【答】使用上面导入步骤里的分批导入方法。

【问】报错:1406 - Data too long for cloumn

或者报错:1118 - Row size too large

【答】这是因为报错的列里,对应excel的单元格里放的值长度太大,其他数据类型在sql里放不下,比如excel里是这样的:

需要将报错的列名对应数据类型,设置为为text。如何修改呢?

1)如果是导入新表数据到数据库里,在下面导入步骤里设置好数据类型

2)如是向数据库里已有表里,导入增加数据,按下图修改

【问】从Excel导入数据到mysql有几列是空的

Excel里的数据:

导入mysql变成这样:

【答】

【问题】没有主键怎么办?

1)选中表,鼠标右键打开设计表

2)给表新增加一列,比如起名id

要注意新增加的这一列类型要是整数类型

3)如下图设置新增加的列(比如列名叫做id)为自增长

【问】导入数据后,想将字符型改为日期型,报错下面的信息?

【答】日期这一列要求数据都要是符合日期格式的,先检查数据,找出异常值。删除异常值后,再用sql语句转换类型为日期类型。

我是猴子,中科院硕士/前IBM高级软件工程师/豆瓣8分《数据分析思维》作者,我和知乎知学堂研职在线联合出品的「数据分析训练营」即将开课,3天带你掌握数据分析实用技巧,包含课程+实战带练,工作提效、升职加薪必备神器!

报名还有独家Excel自学资料领取,点击开启数据分析升职加薪密码:

【mysql系统学习篇】

如何学习 SQL 语言?

上面导入常见问题,部分参考了:如何把excel数据导入navicat及常见问题



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有