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要使用的更多相关文章

  1. Mysql 命令 load data infile 权限问题

    [1]Mysql命令load data infile 执行权限问题 工作中,经常会遇到往线上环境mysql数据库批量导入源数据的场景. 针对这个场景问题,mysql有一个很高效的命令:load dat ...

  2. mysql数据库LOAD DATA INFILE Syntax

    1.LOAD DATA INFILE用来把一个文本文件里的内容高速写入到MySQL表里,它和SELECT ... INTO FILE的操作是对应的,一个导入.一个导出.使用LOAD DATA INFI ...

  3. MySQL 之 LOAD DATA INFILE 快速导入数据

    SELECT INTO OUTFILE > help select; Name: 'SELECT' Description: Syntax: SELECT [ALL | DISTINCT | D ...

  4. mysql 的load data infile

    LOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中.如果指定LOCAL关键词,从客户主机读文件.如果LOCAL没指定,文件必须位于服务器上.(LOCAL在MySQL3.22. ...

  5. mysql中load data Infile运用

    速度比insert要快20倍.共享一下java程序操作. package com.mysql.csv; import java.sql.Connection; import java.sql.Driv ...

  6. 利用mysql的LOAD DATA INFILE的功能读取客户端文件

    前言:今天在浏览某知论坛时,看到某大佬在渗透过程中使用伪造的MySQL服务端读取客户端文件,此大佬在利用过程中描述得不是很详细,作为小白的我看不懂啊,由此产生了此篇文章. 某大佬文章:https:// ...

  7. MySQL中load data infile将文件中的数据批量导入数据库

    有时候我们需要将文件中的数据直接导入到数据库中,那么我们就可以使用load data infile,下面具体介绍使用方法. dao中的方法 @Autowired private JdbcTemplat ...

  8. MySQL通过 LOAD DATA INFILE 批量导入数据

    LOAD DATA INFILE 语句用法 参考手册 本文语句参数使用默认值 PHP:  TP框架环境 // 定义文件路径$file_path = 'LOAD_DATA_LOCAL_INFILE.tx ...

  9. 解决ubuntu server mysql load data infile 导入本地文件ERROR 1148 (42000)错误。

    问题:在ubuntu server 上使用apt-get 安装完 mysql 使用 load data infile 出现错误,错误代码如下: ERROR (): The used command i ...

随机推荐

  1. 轻量级的内部测试过程r \\ u0026研发团队

    对于一个r \\ u0026研发团队的目的,标准化的工作流程资产不可或缺的一部分,特别是对于初创的r \\ u0026研发团队方面.很多r \\ u0026研发管理是不够完整.如何理解的研发团队中的各 ...

  2. 第九讲:HTML5该canvas推箱子原型实现

    <html> <head> <title>动</title> <script src="../js/jscex.jscexRequire ...

  3. maven配置文件里改动默认jre

    方法一:打开%maven_home%\conf\setting.xml,仅仅会在新建项目时自己主动使用1.6的导入项目不会 在<profiles>标签内加入�例如以下配置: <pro ...

  4. 流量计算-Jstorm提交Topology过程(下一个)

    马上部分流量计算-Jstorm提交Topology过程(上), 5.上篇任务已经ServiceHandler.submitTopologyWithOpts()方法.在该方法中,会实例化一个Topolo ...

  5. android cocos2dx游戏-加入截图和分享微博功能

    本文介绍怎样在游戏中添加分享功能,截屏后分享到微博及其他社交网络的功能. public class ShareSupport { // when you want to use share(),fir ...

  6. 打印出所有&quot;水仙花数

    时间限制: 1 Sec  内存限制: 128 MB 提交: 695  解决: 352 [提交][状态][讨论版] 题目描述 打印出所有"水仙花数",所谓"水仙花数&quo ...

  7. [精华]Hadoop,HBase分布式集群和solr环境搭建

    1. 机器准备(这里做測试用,目的准备5台CentOS的linux系统) 1.1 准备了2台机器,安装win7系统(64位) 两台windows物理主机: 192.168.131.44 adminis ...

  8. zoj 2156 - Charlie&#39;s Change

    称号:拼布钱,表面值至1,5.10.25.寻求组成n表面值硬币的最大数目. 分析:dp,01背包.需要二元分割,除此以外TLE.使用每个硬币的数组记录数.轻松升级. 写了一个 多重背包的 O(NV)反 ...

  9. JAVA学习 分析Servlet

    一个.什么是Servlet Servlet是一种在server端执行的java编写的程序,是依照Servlet规范编写的一个java类. 二.Servlet的工作过程 如图所看到的:为了实现客户与se ...

  10. 编程基础——C/C++,Java,ObjC讨论回调模式

    什么是回调? 因为它是从C开始进入编程世界.术语改只是口.叫习惯了.java里通常叫listener(监听器).C/C++里通常叫callback(回调),ObjC里面叫delegate(托付) 回调 ...