mysql 的load data infile要使用
LOAD DATA INFILE从文本文件中读出的声明以极高的速度到表。
1、基本语法
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char' ]
]
[LINES
[STARTING BY 'string']
[TERMINATED BY 'string']
]
[IGNORE number LINES]
[(col_name_or_user_var,...)]
[SET col_name = expr,...]]
2、參数说明
OW_PRIORITY:假设你指定关键词low_priority。那么MySQL将会等到没有其它人读这个表的时候。才把插入数据。案例:
load data low_priority infile "/home/mark/data sql" into table Orders;
LOCAL:假设指定local关键词。则表明从客户主机读文件。假设local没指定,文件必须位于server上。
CONCURRENT:则当LOAD DATA 正在运行时,其他线程会从表中又一次获取数据。即使没有其他线程在同一时候使用本表格,使用本选项也会稍微影响LOAD DATA 的性能。
EPLACE 和IGNORE :keyword处理那些与已存在的主键值反复的输入记录。
假设指定了REPLACE。输入行将会取代已存在的行(也就是说,主索引值同样的行将作为存在的行)。參考REPLACE 语法 。假设指定了IGNORE,与已存在行主键值反复的输入行将被跳过。
假设不指定二者中的任一个,则操作行为将依赖是否指定了LOCAL keyword。没有指定LOCAL。则假设发现有反复的键值,将产生一个错误,并忽略文本文件的其余部分。
FIELDS:指定了文件记段的切割格式,假设用到这个keyword。
terminated by:意思是以什么字符作为分隔符,默认情况下是tab字符(\t)。比如:TERMINATED BY '\t'
enclosed by:字段结束符号。
escaped by:字段開始符号。默认的是反斜杠 (backslash:\ ),比如:ESCAPED BY '\\'。
Load Data InFile 'C:/Data.txt' Into Table `TableTest` Fields Terminated By ',' Enclosed By '"' Escaped By '"' Lines Terminated By '\r\n';
Fields Terminated By ',' Enclosed By '"' Escaped By '"'
表示每一个字段用逗号分开。内容包括在双引號内
Lines Terminated By '\r\n';
表示每条数据用换行符分开
LINES TERMINATED:指定了每条记录的分隔符,默觉得'\n'为换行符。
IGNORE number LINES:这个选项能够用来忽略文件开头部分的行。
比如,能够用IGNORE 1 LINES 来跳过含有列名的的头一行:
LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test IGNORE 1 LINES;
col_name_or_user_var:表示数据表字段:
SET col_name = expr:提供不是来源于输入文件的值。
LOAD DATA INFILE 'file.txt' INTO TABLE t1 (column1, column2) SET column3 = CURRENT_TIMESTAMP;
3、其它说明
假设希望装载操作中忽略外键约束。能够在运行LOAD DATA 之前运行SET FOREIGN_KEY_CHECKS=0 语句。
假设用户在一个空的 ceshi 表上使用LOAD DATA INFILE。全部非唯一索引会以分批方式被创建(就像REPAIR)。当有很多索引时。这通常可以让LOAD DATA INFILE 快点。
版权声明:本文博主原创文章。博客,未经同意不得转载。
mysql 的load data infile要使用的更多相关文章
- Mysql 命令 load data infile 权限问题
[1]Mysql命令load data infile 执行权限问题 工作中,经常会遇到往线上环境mysql数据库批量导入源数据的场景. 针对这个场景问题,mysql有一个很高效的命令:load dat ...
- mysql数据库LOAD DATA INFILE Syntax
1.LOAD DATA INFILE用来把一个文本文件里的内容高速写入到MySQL表里,它和SELECT ... INTO FILE的操作是对应的,一个导入.一个导出.使用LOAD DATA INFI ...
- MySQL 之 LOAD DATA INFILE 快速导入数据
SELECT INTO OUTFILE > help select; Name: 'SELECT' Description: Syntax: SELECT [ALL | DISTINCT | D ...
- mysql 的load data infile
LOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中.如果指定LOCAL关键词,从客户主机读文件.如果LOCAL没指定,文件必须位于服务器上.(LOCAL在MySQL3.22. ...
- mysql中load data Infile运用
速度比insert要快20倍.共享一下java程序操作. package com.mysql.csv; import java.sql.Connection; import java.sql.Driv ...
- 利用mysql的LOAD DATA INFILE的功能读取客户端文件
前言:今天在浏览某知论坛时,看到某大佬在渗透过程中使用伪造的MySQL服务端读取客户端文件,此大佬在利用过程中描述得不是很详细,作为小白的我看不懂啊,由此产生了此篇文章. 某大佬文章:https:// ...
- MySQL中load data infile将文件中的数据批量导入数据库
有时候我们需要将文件中的数据直接导入到数据库中,那么我们就可以使用load data infile,下面具体介绍使用方法. dao中的方法 @Autowired private JdbcTemplat ...
- MySQL通过 LOAD DATA INFILE 批量导入数据
LOAD DATA INFILE 语句用法 参考手册 本文语句参数使用默认值 PHP: TP框架环境 // 定义文件路径$file_path = 'LOAD_DATA_LOCAL_INFILE.tx ...
- 解决ubuntu server mysql load data infile 导入本地文件ERROR 1148 (42000)错误。
问题:在ubuntu server 上使用apt-get 安装完 mysql 使用 load data infile 出现错误,错误代码如下: ERROR (): The used command i ...
随机推荐
- 房费制 之 登录BUG
声明:以下内容只有当你登录到一个username同时,学生不能申请多次登录. 说是BUG,事实上这也不是一个BUG,仅仅是想出一个办法,解决一个大家好多人都没有解决的问题.以下就给大家 ...
- 玩转Web之servlet(一)---怎样创建一个servlet
Servlet概念:servlet就是用java编写的服务器端的小程序,用来完成下B/S架构(即浏览器和服务器架构)下客户端请求的响应处理. servlet通常在容器中运行Tomcat是常见的serv ...
- Nancy 框架
Nancy 框架 Nancy 框架 1.是一个轻量级用于构建http相应的web框架: 2.与mvc类似,有自己的路由机制: 3.可以处理 DELETE , GET , HEAD , OPTIO ...
- OOA/OOD/OOP(转)
OOA Object-Oriented Analysis:面向对象分析方法 是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题.OOA与结构化分析有较大的区别.OOA所强调的 ...
- LayoutDemo
package swing.ui; import java.awt.BorderLayout; import java.awt.GridLayout; import javax.swing.JButt ...
- 设备11g_rac配置对等
linux平台安装oracle 11gssh同等配置简单 构造grid用户任关系 登陸rac1,rac2分别运行: $ su - grid $mkdir ~/.ssh $chmod 700 ~/.ss ...
- 基于最简单的FFmpeg采样读取内存读写:内存玩家
===================================================== 基于最简单的FFmpeg样品系列读写内存列表: 最简单的基于FFmpeg的内存读写的样例:内 ...
- 读改善c#代码157个建议:建议7~9
目录: 建议7:将0值作为枚举的默认值 建议8:避免给枚举类型的元素提供显示的值 建议9:习惯运算符重载 一.建议7:将0值作为枚举的默认值 允许使用的枚举类型有:byte.sbyte.short.u ...
- MyBatis与Spring设置callSettersOnNulls
项目中集成Mybatis与Spring,使用的是Mybatis3.2.7,以及Spring4.0.5,mybatis-spring-1.2.2;由于项目组成员想要偷懒,将数据从DB中查询出来时须要将字 ...
- Android EventBus源代码解析 带你深入理解EventBus
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/40920453,本文出自:[张鸿洋的博客] 上一篇带大家初步了解了EventBus ...