前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL – LOAD DATA LOCAL INFILE将数据导入表中

MySQL – LOAD DATA LOCAL INFILE将数据导入表中

作者头像
kirin
发布2020-11-27 14:37:46
4.4K0
发布2020-11-27 14:37:46
举报
文章被收录于专栏:Kirin博客

一.语法介绍

代码语言:javascript
复制
LOAD DATA
    [LOW_PRIORITY | CONCURRENT] [LOCAL]
    INFILE 'file_name'
    [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [PARTITION (partition_name [, partition_name] ...)]
    [CHARACTER SET charset_name]
    [{FIELDS | COLUMNS}
        [TERMINATED BY 'string']
        [[OPTIONALLY] ENCLOSED BY 'char']
        [ESCAPED BY 'char']
    ]
    [LINES
        [STARTING BY 'string']
        [TERMINATED BY 'string']
    ]
    [IGNORE number {LINES | ROWS}]
    [(col_name_or_user_var
        [, col_name_or_user_var] ...)]
    [SET col_name={expr | DEFAULT},
        [, col_name={expr | DEFAULT}] ...]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

LOAD DATA语句以非常高的速度将文本文件中的行读入表中。 LOAD DATA是补充 SELECT ... INTO OUTFILE。要将表中的数据写入文件,请使用 SELECT ... INTO OUTFILE。要将文件读回表中,请使用 LOAD DATA。两个语句的FIELDSLINES子句的语法 相同。

更多的相关内容,大家可以参照官网

二.数据分隔符

  1. fields关键字指定了文件记段的分割格式,如果用到这个关键字,MySQL剖析器希望看到至少有下面的一个选项: terminated by 以什么字符作为分隔符 enclosed by 字段闭合标签 escaped by 转义字符 terminated by 描述字段的分隔符,默认情况下是tab字符(\t) enclosed by 描述的是字段的括起字符。 escaped by 描述的转义字符。默认的是反斜杠(backslash:\ )
  2. lines 关键字指定了每条记录的分隔符默认为’\n’即为换行符 (不指定一个lines子句,缺省值默认写的如: lines terminated by’\n’)
  3. [IGNORE number LINES] 忽略特定行数,CSV文件可以忽略掉第一行标题

三.实战

示例1:LOAD DATA LOCAL INFILE导入txt文件
1.1数据准备

首先我们创建一个milo.xlsx文件,准备数据如下图:

MySQL - LOAD DATA LOCAL INFILE将数据导入表中-麒麟博客
MySQL - LOAD DATA LOCAL INFILE将数据导入表中-麒麟博客

然后新建milo.txt文件,将数据复制过去;

MySQL - LOAD DATA LOCAL INFILE将数据导入表中-麒麟博客
MySQL - LOAD DATA LOCAL INFILE将数据导入表中-麒麟博客

接下来,我们需要在自己本地库创建对应的数据表

MySQL - LOAD DATA LOCAL INFILE将数据导入表中-麒麟博客
MySQL - LOAD DATA LOCAL INFILE将数据导入表中-麒麟博客

**注意:**需要注意表字段需要对应数据中的id和name;

1.2 数据导入
代码语言:javascript
复制
load data local infile 'F:\\milo.txt'
into table test
fields terminated by '\t'
lines terminated by '\n'
ignore 1 lines
(id,name);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
1.3结果
MySQL - LOAD DATA LOCAL INFILE将数据导入表中-麒麟博客
MySQL - LOAD DATA LOCAL INFILE将数据导入表中-麒麟博客
示例2:LOAD DATA LOCAL INFILE导入csv文件
2.1数据准备

首先我们创建milo.csv文件,如下图所示

MySQL - LOAD DATA LOCAL INFILE将数据导入表中-麒麟博客
MySQL - LOAD DATA LOCAL INFILE将数据导入表中-麒麟博客
2.2数据导入
代码语言:javascript
复制
LOAD DATA LOCAL INFILE 'F:\\milo.csv' INTO TABLE test
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(id, name)
代码语言:javascript
复制
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
2.3结果
MySQL - LOAD DATA LOCAL INFILE将数据导入表中-麒麟博客
MySQL - LOAD DATA LOCAL INFILE将数据导入表中-麒麟博客

三.相关问题

在测试过程中,大家可能会遇到各种问题,可以参考这篇博客解决:https://blog.csdn.net/ShoneX98/article/details/85230721

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/11/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.语法介绍
  • 二.数据分隔符
  • 三.实战
    • 示例1:LOAD DATA LOCAL INFILE导入txt文件
      • 1.1数据准备
      • 1.2 数据导入
      • 1.3结果
    • 示例2:LOAD DATA LOCAL INFILE导入csv文件
      • 2.1数据准备
      • 2.2数据导入
      • 2.3结果
  • 三.相关问题
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档