千万行csv大文件快速导入mysql
最近尝试csv文件导入,因为之前太菜就用普通图形窗口导入,但是速度很慢,于是做了总结:目前我这里一共两种方法:一.图形化图形化界面,找到电脑左下角的开始,找到wokbench 这个可视化软件,没有的是当初安装mysql没有下载他的可视化捆绑程序,自己可以百度解决。 运行程序后,进入root 在下图空白处右键,Create schema建立新的数据库 然后找到刚刚建立的数据库左侧角标点击展开,在Ta
最近尝试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';
回车大功告成,你就可以回去刷新一下,看看有没有出现表。成功图如下。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)