大文件csv与小文件导入mysql的表中(图形化命令都有)
Posted 咸鱼都能看懂的代码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大文件csv与小文件导入mysql的表中(图形化命令都有)相关的知识,希望对你有一定的参考价值。
最近尝试csv文件导入,因为之前太菜就用普通图形窗口导入,但是速度很慢,于是做了总结:
目前我这里一共两种方法:
1.窗口 mysql workbench导入 (适用范围:对数据库不了,要导入的csv文件比较小,不超过1万行适用)【速度慢】
2.命令式导入 (适用范围:对数据库命令了解,要导入百万行大数据)【速度快】
一.图形化
图形化界面,找到电脑左下角的开始,找到wokbench 这个可视化软件,没有的是当初安装mysql没有下载他的可视化捆绑程序,自己可以百度解决。
运行程序后,进入root
在下图空白处右键,Create schema建立新的数据库
然后找到刚刚建立的数据库左侧角标点击展开,在Table上鼠标右键,选择Table Data Import Wizard.
选择csv文件路径,然后点击next
然后下个页面以为我们没有创建表,所以他的默认选项是帮我们创建一个表,大家可以直接点击next
然后再次点击next,他会帮我们选择列的类型,你也可以自己选,下方是预览情况
继续点击next,再点击next完工,你会发现你创建的数据库表下已经有表了,记得手动刷新一下左侧列表,表才会出现。
博主在导入时候,数据太多,导入过慢受不了了,于是使用了命令式导入。
二.命令式导入
测试100万行数据只用了13秒,首先在windows开始菜单栏找到mysql 8.0 Command Line Client
点击进入会让输入密码,密码输错就会直接闪退,我就是这样,最后不得不卸载重新安装了mysql
然后开始输入命令
首先输入
show variables like '%secure%';
然后回车,如果出现secure_file_priv=' ',恭喜你可以直接进行下一步,
如果里面出现了不为空,比如某些路径我的是在C:/Program Data/MySQL Server 8.0/Uploads/ 注意这里的Program Data是隐藏文件夹,需要点击上方的查看隐藏文件夹才能看到,大家需要到mysql安装目录下修改my.ini文件,位置在下图,可以到桌面上创建修改好后,再拖拽过来。
注意:如果没有找到my.ini文件,这个文件大概率在上面输入的某些路径里面(橙色字体指代一个东西),可以顺着某些路径找到位置,我的就是这样,
my.ini添加文件内容如下:
secure_file_priv=''
接下来重启一下mysql就行了。
回到刚刚的命令窗口
show variables like 'local_infile';
结果为off,需要改成on.
set global local_infile=on;
然后你需要对着这你的csv文件,在数据库里面新建个库database,然后在Table鼠标右键在里面create一张新表,我个人建议上面图形化方法让mysql帮你鉴定每一列的类型再对比创建表,不然后面导入一直报错。可能我对类型了解的不够深入。
接下来就是开始导入命令,这里有个建议,建议csv文件放到上面橙色某些路径的文件夹下,可以减少一些不必要的麻烦。
show databases;
查看所有的数据库
use 某某数据库;
选择数据库,下面换成你自己的csv文件地址
load data infile 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/1.csv' #换成自己地址
into table ship_info #换成你自己表名
fields terminated by','optionally enclosed by '"' escaped by '"'
lines terminated by '\\r\\n';
回车大功告成,你就可以回去刷新一下,看看有没有出现表。成功图如下。
以上是关于大文件csv与小文件导入mysql的表中(图形化命令都有)的主要内容,如果未能解决你的问题,请参考以下文章
在 ORacle 10g 中导入 MySql 生成的 csv 大文件