菜鸟mysql四分钟导入千万级别的数据
最近在分析数据时,遇到1000万条csv数据,于是便想着将其导入MySQL进行分析,由于本人比较笨,折腾了一晚上还没搞定,总是遇到各种各样的错误,终于在今天成功导入了这1000万条数据,在此跟大家分享一下:
一、工具
- MySQL-8.0.15
- notepad++.7.4.2
二、过程.
首先先建好相应的数据库和表
具体过程大家可以自己根据自己数据实际情况建库和表,重点各字段名只能全部为文本类型(char,varchar等)
注:这里有个细节要跟大家说一下,数据库和表的名字不能有“-”等符号,但下划线可以,不然后面会出错(后面有图)之后就是数据的处理
由于数据量过大,用exce只能打开部分数据,所以这里要用 notpad ++打开,然后将数据转化为utf-8编码
打开MySQL目录下的my.ini文件,在里面添加,secure_file_priv=‘文件导入的数据源’;以后要导入的数据源都要放在这个目录下才可以导入,如:secure_file_priv='D:/'
3. 数据导入
切换到相应的数据库下面:use 数据库名;
数据开始导入:
load data infile 'D:/traffic_shenzhen.csv'into table traffic_shenzhen fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\n';
解读:
D:/traffic_shenzhen.csv:数据的存放路径(注意上面所说的路径要与my.ini文件里面添加的位置一致)
traffic_shenzhen:数据库下要存放的表
fields terminated by ‘,’:表示每个字段用逗号分开
optionally enclosed by ‘"’ escaped by ‘"’:内容包含在双引号内
lines terminated by ‘\n’:每行的换行(注意:window系统用‘\r\n’,linux系统用‘\n’)
这里可以看出插入的数据有11077919条数据,用时3分钟45秒
注:一般这样写是不会错的,除非是在一些细节上没处理好,这些细节在上面都有用“()”或“注”指出,下面也会再进行一些错误分析。
三、错误分析
一般只要按照上面的步骤来是不会错的,主要是细节方面的问题,细心点就好,要是实在遇到很多错误也不要心浮气躁,一般的错误网上可以找得到的,毕竟人非圣贤,有错误也正常,主要心态要好,毕竟这是一个学习的过程,有错误才有收获,你说对吗!
.错误1:
解:这里就像我说的,在数据库和表的命名时不能有“-”符号,不然就会有这样的错误提示,所以只要把数据库和表的名字改一下(不要包含“-”符号)就行了。notepad++.7.4.2
解:这里命令的写法跟错误1的写法作用是一样的,这里是编码的问题,我在上面的数据处理那里说过,要先用notpad++打开,转为utf-8编码就可以解决了。错误3:
解:这里就像字面意思一样,没有选择是哪个数据库,所以只要在执行这些命令之前,先执行“use 数据库名;”就可以了。错误4:
解:这里的错误是数据库下的表结构导致的,意思就是“道路形状坐标”这一列,你之前给它创建时范围太小了,csv文件里面的对应的数据太大,数据库下的表存不下,所以,只要把数据库下的表中的“道路形状坐标”这一列的范围改大一点就可以了。错误5:
解:这里只要打开MySQL目录下的my.ini文件,在里面添加,secure_file_priv=‘文件导入的数据源’;以后要导入的数据源都要放在这个目录下才可以导入,如:secure_file_priv=‘D:/’错误6:
解:这里是字段的类型不对,可以字段类型改一下就好,比如:全部改为varchar类型等。
以上就是本次千万级别数据导入的全部内容,希望对大家有用,如有说得不对得地方希望大佬指出,本文纯属原创,如有侵权,可联系本人博主删除。
菜鸟mysql四分钟导入千万级别的数据相关推荐
- mysql快熟导入大量excel表格数据
mysql快熟导入大量excel表格数据 采用CSV引擎导入excel表格数据,会比默认innodb引擎快,之后再把CSV引擎改成innodb,就可以解决导入大量excel表格数据效率低,时间慢的问题 ...
- MySQL千万级别表数据中提高RAND随机查询的实验
1,准备测试数据 1.1 建库建表 mysql> create database hwdb; Query OK, 1 row affected (0.34 sec) mysql> mysq ...
- mysql四种事务隔离级别
mysql事务并发问题 ACID什么的就不啰嗦了.mysql多个事务并发的时候,可能会出现如下问题: 1. 更新丢失 即两个事务同时更新某一条数据,后执行的更新操作会覆盖先执行的更新操作,导致先执行的 ...
- mysql中不同事务隔离级别下数据的显示效果--转载
事务是一组原子性的SQL查询语句,也可以被看做一个工作单元.如果数据库引擎能够成功地对数据库应用所有的查询语句,它就会执行所有查询,如果任何一条查询语句因为崩溃或其他原因而无法执行,那么所有的语句就都 ...
- MySQL 四种事务隔离级别详解及对比--转
http://www.jb51.net/article/100183.htm 接的隔离级别.它的语法如下: ? 1 SET [SESSION | GLOBAL] TRANSACTION ISOLATI ...
- 怎样玩转千万级别的数据
作者:Sam Xiao www.cnblogs.com/xcj26/p/3305789.html 如有好文章投稿,请点击 → 这里了解详情 大数据处理是一个头疼的问题,特别当达不到专业DBA的技术水准 ...
- 从MySQL中导出表中数据_用命令从mysql中导出/导入表结构及数据
在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看: mysqldump 最常用的: mysqldump -uroot -pmysql databasefo ...
- 【数据库】千万级别的数据,如何更改表字段长度
千万级别的表,需要更改表的某个字段的长度,用如下sql alter table <表名> alter column <字段名> 类型名(长度) 是很难更新成功的. 如何才能修改 ...
- c mysql 批量插入_c#之mysql四种带事务批量插入
前言 对于像我这样的业务程序员开发一些表单内容是家常便饭的事情,说道表单 我们都避免不了多行内容的提交,多行内容保存,自然要用到数据库,如果循环打扰我数据库,数据库也会觉得很累,从而增加数据库服务器压 ...
最新文章
- linux sheel script demo
- boost::mp11::mp_at相关用法的测试程序
- javame_JavaME:Google静态地图API
- 实验楼python挑战答案_python基础知识
- EasyUI系列学习(一)-入门
- 只会写代码的程序员永远无法出色?!
- 态调用Excel避免因为版本不同而使用程序无法编辑或调试
- guava 集合上 三
- Spark 系列(十)—— Spark SQL 外部数据源
- 【PATL2-002】链表去重(链表模拟)---水题
- hausaufgabe--python 22- Recurse
- [转帖]「白帽黑客成长记」Windows提权基本原理(上)
- 【案例】凤凰新华物流:探索智能化图书发行物流体系建设,助力出版行业担当文化建设使命-WMS
- linux java调优
- java实现获取当前日期、农历、周
- 特殊符号html怎么打出来的,特殊符号怎么打出来
- 运筹优化学习08:Repairing MIP infeasibility through local branching
- Markdown语法图文详解
- 共阴极数码管,学号显示实验
- 用关键词获取店铺详情
热门文章
- 2021年高考语文咸宁查询成绩,2021年咸宁高考状元是谁分数多少分,历年咸宁高考状元名单...
- Windows下的自动定时执行方法 - 定时执行专家
- HUAWEI(17)——Mux-VLAN
- ZXing扫码流程——相机角度和预览角度
- 话说《蜗居》:从房奴到小三
- IT隔离电源系统在医院供配电的应用探讨
- Java中DAO层、Service层和Controller层的区别
- Python有嘻哈:Crossin教你用代码写出押韵的verse 1
- MySQL表名的大小写敏感设定
- python语言案例教程张太红_Python程序代码相似度检测