csv批量导入mysql命令
今天把从Kaggle上下载下来的csv数据导入mysql,想做个统计分析,怎奈csv文件有些大。所以仅仅能用mysql 命令导入,现mark下,以备以后不时之需:
1. 导入:
基本的语法:
load data [low_priority] [local] infile 'file_name txt' [replace | ignore]
into table tbl_name
[character set gbk]
[fields
[terminated by't']
[OPTIONALLY] enclosed by '']
[escaped by'\' ]]
[lines terminated by'n']
[ignore number lines]
[(col_name, )]
导入命令_example:
load data infile 'csv文件路径\\test.csv'
replace into table 表名
fields terminated by ','
optionally enclosed by '"'
lines terminated by '\n'
ignore 1 lines(Id,@dummy,DayOfWeek,PdDistrict,Address,X,Y);
不要小看这个简单的example。包括了非常多东西;
第一行就是导入文件;
第二行參看语法就会发现有两个词:replace 和 ignore 。replace和ignore关键词控制对现有的唯一键记录的反复的处理。假设你指定replace。新行将取代有同样的唯一键值的现有行。假设你指定ignore。跳过有唯一键的现有行的反复行的输入。假设你不指定不论什么一个选项,当找到反复键时,出现一个错误,而且文本文件的余下部分被忽略。
所以我认为现实情况下你的表设计主键。还是最好要不会反复的字段;
第三~四行非常easy就是每一个详细字段内容之间是以逗号隔开的,那就以逗号分开。
erminated by描写叙述字段的分隔符。默认情况下是tab字符(\t)
enclosed by描写叙述的是字段的括起字符。就是说字段中假设有引號。就当做是字段的一部分。
语法中另一个是 escaped by, 它描写叙述的是转义字符。
默认的是反斜杠(backslash:\ )
第五行 lines terminated by是对每行进行切割。这里要注意一个问题。假设csv文件是在windows下生成,那切割用 ‘\r\n’。linux下用 ‘\n’。
第六行中 ignore 1 lines 是忽略第一行。由于第一行往往是字段名。后边括号里有个字段非常特别 @dummy,它是说假设csv文件里有个字段我不想插进去。那就把相应字段名变成@dummy。
PS:想顺便插入导入时间。就在最后加上set update_time=current_timestamp。
2. 导出:
同一时候附带上导出命令:
select * from 表名
into outfile '导出路径\\test.csv'
fields terminated by ','
optionally enclosed by '"'
escaped by '"'
lines terminated by '\n';
希望多多交流!
csv批量导入mysql命令的更多相关文章
- Weka里如何将arff文件或csv文件批量导入MySQL数据库(六)
这里不多说,直接上干货! 前提博客是 Weka中数据挖掘与机器学习系列之数据格式ARFF和CSV文件格式之间的转换(四) 1.将arff文件批量导入MySQL数据库 我在这里,arff文件以Weka安 ...
- [转]csv文件导入Mysql
本文转自:https://blog.csdn.net/quiet_girl/article/details/71436108 本篇博客主要讲将csv文件导入Mysql的方法(使用命令行). Step1 ...
- SpringMVC文件上传 Excle文件 Poi解析 验证 去重 并批量导入 MYSQL数据库
SpringMVC文件上传 Excle文件 Poi解析并批量导入 MYSQL数据库 /** * 业务需求说明: * 1 批量导入成员 并且 自主创建账号 * 2 校验数据格式 且 重复导入提示 已被 ...
- .net core利用MySqlBulkLoader大数据批量导入MySQL
最近用core写了一个数据迁移小工具,从SQLServer读取数据,加工后导入MySQL,由于数据量太过庞大,数据表都过百万,常用的dapper已经无法满足.三大数据库都有自己的大数据批量导入数据的方 ...
- 对大数据的批量导入MySQL数据库
自己的库里有索引在用insert导入数据时会变慢很多 使用事务+批量导入 可以配置使用spring+mybatis整合的方式关闭自动提交事务(地址),选择批量导入每一百条导入使用list存储值传入到m ...
- 使用solr批量导入mysql数据库,以及Unable to read: dataimport.properties等坑
折腾了一下午终于成功了!先放一张成功图: 成功把mysql的数据添加进去了,我这里是整合了tomcat9,整合步骤挺麻烦的,百度一大堆! 这里主要介绍批量导入数据,这里有些坑,所以记录一下: 步骤: ...
- 解析csv数据导入mysql的方法
mysql自己有个csv引擎,可以通过这个引擎来实现将csv中的数据导入到mysql数据库中,并且速度比通过php或是python写的批处理程序快的多. 具体的实现代码示例: 代码如下: load d ...
- Java实现数据批量导入mysql数据库
本文完全照搬别人的. 原文标题:Java实现数据批量导入数据库(优化速度-2种方法) 原文地址:https://blog.csdn.net/qy20115549/article/details/526 ...
- 【MySQL】CSV 文件导入MySQL
此问题是前几天整理数据的时候碰到的,数据存在 CSV文件中(200多万记录),通过python 往数据库中导入太慢了,后来使用MySQL 中自带的命令 LOAD DATA INFILE, 30多秒就能 ...
随机推荐
- Git - 常用技能
参考: http://wuchong.me/blog/2015/03/30/git-useful-skills/
- 百度apistore第三方登陆
最近做一个个人博客,其中的登陆模块我想使用第三方登陆来做.上网搜一下有好多例子,但是大多数都是一个网站的第三方登陆,如QQ.微博.人人,没有集成的组件,于是就在网上搜一下百度的apistore,百度果 ...
- ExtJS 4.2学习(一)——环境搭建
1.把JDK集成到myeclipse里: 虽然myeclipse自带了jdk,但我们还是配置自己的JDK1.7 window——>Proferences——>Java——>Compl ...
- 非原生APP开发中可以用到的JQ插件
fancybox 弹出层 图片什么的都可以 效果还不错..
- Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本
说明: 1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是 ...
- 阻止长按复制页面中的内容;zepto中touch中的应用必须先加载event模块之后;
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- UIView 中 frame, bounds, center 属性的关系
最近一直在学 iOS 开发,所以专门创建了这样一个类别,将自己学习中的一些问题整理,记录下来.由于自己是初学者,所以所写的文章非常基础,写这个类别一是为了给自己留下存 档,二是为了给和我有同样问题的初 ...
- ios即时通讯客户端开发之-mac上基于XMPP的聊天客户端开发环境搭建
1.搭建服务器 - 安装顺序 - (mysql->openfire->spark) 数据库:mysql 服务器管理工具: openfire 测试工具: spark mysql 安装 h ...
- raphael入门到精通---入门篇之总览
什么是Raphael raphael.js是一小巧的javascript库,它可以在web上画矢量图简化你的工作,如果你想创建你指定的图表,图形区域或者可移动的组件,那么就使用raphael吧 话不多 ...
- 关于javascript面向对象之闭包
要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量,而在函数外部无法 ...