怎么把excel中的数据批量导入到mysql数据中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么把excel中的数据批量导入到mysql数据中相关的知识,希望对你有一定的参考价值。
想把excel中的数据导入到mysql数据库中,有什么办法,有什么软件?
1.将选中的数据快儿拷贝到一个TXT文本文件中(记得把后面的空格消掉。。否则导入数据库后会有对应的空行),假如存到“D:\data.txt”这个位置里。2.根据要导入的数据快儿建立MySql数据库和表,然后进入命令提示符里使用命令
load data local infile 'D:/data.txt' into table exceltomysql fields terminated by '\t';
注意:盘符我使用的“/”才成功,否则提示找不到文件 下面文章中是用的“\”!
进行导入操作
手动进行Excel数据和MySql数据转换 参考技术A 最快的方法是把EXCEL的数据以CSV的格式导出,到ACCESS导入CSV的那个文件,然后再用ACCESS导出DBF的格式,mySQL可以直接支持和读取DBF格式的数据库文件。 参考技术B 把excel中的数据批量导入到mysql数据中的方法如下:
把EXCEL的数据以CSV的格式导出,到ACCESS导入CSV的那个文件,然后再用ACCESS导出DBF的格式,mySQL就可以直接导入DBF格式的数据文件了。
如何把csv文件批量导入到mysql数据库
通过命令行导入(要求列与列之间以 英文逗号 分割,若字段中含有 , 则以 " 包裹)load data infile 'D:/mysql-5.7.29-winx64/files/ratings_5.csv' into table ratings fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';
踩坑一:文件路径用 \ 分割会报错,用 / 可(用 \\ 应该也可)
踩坑二:load data 命令报错
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
在 my.ini 中加入(空字符串代表允许从一切目录导入)
[mysqld]
secure-file-priv=''
然后再 Windows 的服务中重新启动 mysql
踩坑三:csv 文件中第一行是诸如 userId 这样的列名
如果你的 csv 文件不大,直接使用 notepad++ 打开后删除第一行即可
但在我们这里,千万级别的文件 notepad++ 无法打开,这时可以考虑两种方法
1. 将 csv 文件传入 Linux 服务器删去第一行
由于不知道如何在 Win 10 中做这个操作,只能通过 Linux 中转执行
sed -i '1d' ratings.csv
检验是否成功,可以打印出第一行观察
cat ratings.csv | head -n 1
2. 通过工具把大的 csv 分成多个 notepad 能够打开的较小文件,对第一个文件删除第一行并依次导入
工具:splitcsv
亲测 5000000 条数据的 csv 文件可以在 notepad++ 中打开(只能同时打开 3 个)
这个工具还有个小坑:ratings_0.csv 的最后一行和 ratings_1.csv 的第一行是重复的,请手动删除 参考技术A 下载一个editplus或者notepad++ 用这种文本编辑器打开你的csv文件,添加上你要添加的记录,然后存储为utf8 的,然后再导入 参考技术B 如果是单表比较好操作
1 利用notepad 或者sublime 列选工具选中某一列
2.开始输入insert into table
3.这样慢慢拼接成一条多条sql语句 接着一次性插入就可以了。
方法二
下载mysql workbeach工具 建立一张表子段和csv字段对应上 ,然后直接贴入。
csv 字段间用逗号隔开 如
1,2,3,4,5,6,7
1,2,3,4,5,6,7
以上是关于怎么把excel中的数据批量导入到mysql数据中的主要内容,如果未能解决你的问题,请参考以下文章