最近在分析数据时,遇到1000万条csv数据,于是便想着将其导入MySQL进行分析,由于本人比较笨,折腾了一晚上还没搞定,总是遇到各种各样的错误,终于在今天成功导入了这1000万条数据,在此跟大家分享一下:

一、工具

  1. MySQL-8.0.15
  2. notepad++.7.4.2

二、过程.

  1. 首先先建好相应的数据库和表
    具体过程大家可以自己根据自己数据实际情况建库和表,重点各字段名只能全部为文本类型(char,varchar等)
    注:这里有个细节要跟大家说一下,数据库和表的名字不能有“-”等符号,但下划线可以,不然后面会出错(后面有图)

  2. 之后就是数据的处理
    由于数据量过大,用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. .错误1:

    解:这里就像我说的,在数据库和表的命名时不能有“-”符号,不然就会有这样的错误提示,所以只要把数据库和表的名字改一下(不要包含“-”符号)就行了。

  2. notepad++.7.4.2

    解:这里命令的写法跟错误1的写法作用是一样的,这里是编码的问题,我在上面的数据处理那里说过,要先用notpad++打开,转为utf-8编码就可以解决了。

  3. 错误3:

    解:这里就像字面意思一样,没有选择是哪个数据库,所以只要在执行这些命令之前,先执行“use 数据库名;”就可以了。

  4. 错误4:

    解:这里的错误是数据库下的表结构导致的,意思就是“道路形状坐标”这一列,你之前给它创建时范围太小了,csv文件里面的对应的数据太大,数据库下的表存不下,所以,只要把数据库下的表中的“道路形状坐标”这一列的范围改大一点就可以了。

  5. 错误5:

    解:这里只要打开MySQL目录下的my.ini文件,在里面添加,secure_file_priv=‘文件导入的数据源’;以后要导入的数据源都要放在这个目录下才可以导入,如:secure_file_priv=‘D:/’

  6. 错误6:

    解:这里是字段的类型不对,可以字段类型改一下就好,比如:全部改为varchar类型等。

以上就是本次千万级别数据导入的全部内容,希望对大家有用,如有说得不对得地方希望大佬指出,本文纯属原创,如有侵权,可联系本人博主删除。

菜鸟mysql四分钟导入千万级别的数据相关推荐

  1. mysql快熟导入大量excel表格数据

    mysql快熟导入大量excel表格数据 采用CSV引擎导入excel表格数据,会比默认innodb引擎快,之后再把CSV引擎改成innodb,就可以解决导入大量excel表格数据效率低,时间慢的问题 ...

  2. MySQL千万级别表数据中提高RAND随机查询的实验

    1,准备测试数据 1.1 建库建表 mysql> create database hwdb; Query OK, 1 row affected (0.34 sec) mysql> mysq ...

  3. mysql四种事务隔离级别

    mysql事务并发问题 ACID什么的就不啰嗦了.mysql多个事务并发的时候,可能会出现如下问题: 1. 更新丢失 即两个事务同时更新某一条数据,后执行的更新操作会覆盖先执行的更新操作,导致先执行的 ...

  4. mysql中不同事务隔离级别下数据的显示效果--转载

    事务是一组原子性的SQL查询语句,也可以被看做一个工作单元.如果数据库引擎能够成功地对数据库应用所有的查询语句,它就会执行所有查询,如果任何一条查询语句因为崩溃或其他原因而无法执行,那么所有的语句就都 ...

  5. MySQL 四种事务隔离级别详解及对比--转

    http://www.jb51.net/article/100183.htm 接的隔离级别.它的语法如下: ? 1 SET [SESSION | GLOBAL] TRANSACTION ISOLATI ...

  6. 怎样玩转千万级别的数据

    作者:Sam Xiao www.cnblogs.com/xcj26/p/3305789.html 如有好文章投稿,请点击 → 这里了解详情 大数据处理是一个头疼的问题,特别当达不到专业DBA的技术水准 ...

  7. 从MySQL中导出表中数据_用命令从mysql中导出/导入表结构及数据

    在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看: mysqldump 最常用的: mysqldump -uroot -pmysql databasefo ...

  8. 【数据库】千万级别的数据,如何更改表字段长度

    千万级别的表,需要更改表的某个字段的长度,用如下sql alter table <表名> alter column <字段名> 类型名(长度) 是很难更新成功的. 如何才能修改 ...

  9. c mysql 批量插入_c#之mysql四种带事务批量插入

    前言 对于像我这样的业务程序员开发一些表单内容是家常便饭的事情,说道表单 我们都避免不了多行内容的提交,多行内容保存,自然要用到数据库,如果循环打扰我数据库,数据库也会觉得很累,从而增加数据库服务器压 ...

最新文章

  1. linux sheel script demo
  2. boost::mp11::mp_at相关用法的测试程序
  3. javame_JavaME:Google静态地图API
  4. 实验楼python挑战答案_python基础知识
  5. EasyUI系列学习(一)-入门
  6. 只会写代码的程序员永远无法出色?!
  7. 态调用Excel避免因为版本不同而使用程序无法编辑或调试
  8. guava 集合上 三
  9. Spark 系列(十)—— Spark SQL 外部数据源
  10. 【PATL2-002】链表去重(链表模拟)---水题
  11. hausaufgabe--python 22- Recurse
  12. [转帖]「白帽黑客成长记」Windows提权基本原理(上)
  13. 【案例】凤凰新华物流:探索智能化图书发行物流体系建设,助力出版行业担当文化建设使命-WMS
  14. linux java调优
  15. java实现获取当前日期、农历、周
  16. 特殊符号html怎么打出来的,特殊符号怎么打出来
  17. 运筹优化学习08:Repairing MIP infeasibility through local branching
  18. Markdown语法图文详解
  19. 共阴极数码管,学号显示实验
  20. 用关键词获取店铺详情

热门文章

  1. 2021年高考语文咸宁查询成绩,2021年咸宁高考状元是谁分数多少分,历年咸宁高考状元名单...
  2. Windows下的自动定时执行方法 - 定时执行专家
  3. HUAWEI(17)——Mux-VLAN
  4. ZXing扫码流程——相机角度和预览角度
  5. 话说《蜗居》:从房奴到小三
  6. IT隔离电源系统在医院供配电的应用探讨
  7. Java中DAO层、Service层和Controller层的区别
  8. Python有嘻哈:Crossin教你用代码写出押韵的verse 1
  9. MySQL表名的大小写敏感设定
  10. python语言案例教程张太红_Python程序代码相似度检测