开发指南—DML语句—LOAD DATA

简介: 本文介绍在PolarDB-X中使用load data进行数据导入的相关限制和注意事项。

本文介绍在PolarDB-X中使用load data进行数据导入的相关限制和注意事项。

注意事项

  • 使用load data进行数据导入时,load data语句并非一个事务,因此各种原因(如数据库宕机等)可能导致部分数据插入,剩余部分未插入。
  • 客户端需要开启local-infile

语法


LOAD DATA   
    [LOCAL] 
    INFILE 'file_name' 
    [REPLACE | IGNORE] 
    INTO TABLE tbl_name 
    [CHARACTER SET charset_name] 
    [{FIELDS | COLUMNS}
        [TERMINATED BY 'string'] 
        [ENCLOSED BY 'char'] 
        [ESCAPED BY 'char'] 
    ]
    [LINES
        [STARTING BY 'string'] 
        [TERMINATED BY 'string'] 
    ]
    [IGNORE number {LINES | ROWS}] 
    [(col_name_or_mask [, col_name_or_mask] ...)]

参数说明

参数名称 说明
LOAD DATA [LOCAL] INFILE 文件位于服务端还是client端。
file_name 使用相对路径时,为相对于客户端启动时的路径。
REPLACE 导入数据时,遇到主键重复则强制用当前数据覆盖已有数据。
IGNORE 导入数据时,遇到主键重复则自动忽略该行。
[FIELDS] TERMINATED BY 'string' 定义每行数据的分隔符,默认为\t
[FIELDS] ENCLOSED BY 'char' 每列数据的包围符。例如,某一列数据为"test",定义enclosed by '"'后,导入数据时先将"test"前后的"移除,然后再导入数据。
[LINES] TERMINATED BY 'string' 定义行分隔符,默认为\n
IGNORE number LINES 导入数据时忽略开始的某几行。例如,IGNORE 1 LINES,导入数据时忽略第一行数据。
(col_name_or_mask [, col_name_or_mask] ...)
  1. 设置导入的列,如果不设置,默认按照表中的列顺序来导入数据。
  2. 掩盖掉文件中的某些列,使文件中对应列失效,例如,table test(x int, y int),导入文件有三列,导入时使用 (x, @name, y) 则会忽略文件中的第二列,使用第一列填充x,使用第二列填充y。

示例

创建测试表:


CREATE TABLE test ( a int(11) NOT NULL DEFAULT '0',  b varchar(8) NOT NULL,  PRIMARY KEY (a)  ) DBPARTITION by hash(a);

本地待导入文件:


x,y

test1,2
test2,3
test3,4
test4,5
test5,6
test7,8
test8,9

load data语句:


LOAD DATA LOCAL INFILE '~/test.txt' IGNORE INTO TABLE test FIELDS TERMINATED BY ',' LINES STARTING BY 'test' TERMINATED BY '\n' IGNORE 1 LINES;

结果如下:


mysql> select * from test order by a;
+------+------+
| a | b |
+------+------+
| 1 | 2 |
| 2 | 3 |
| 3 | 4 |
| 4 | 5 |
| 5 | 6 |
| 7 | 8 |
| 8 | 9 |
+------+------+
7 rows in set (0.02 sec)
相关文章
|
SQL 数据库
开发指南—DML语句—LOAD DATA
本文介绍在PolarDB-X中使用load data进行数据导入的相关限制和注意事项。
|
SQL 关系型数据库 MySQL
开发指南—DML语句—SOURCE
本文介绍PolarDB-X两种导入数据命令。
开发指南—DAL语句—DDL管理语句—SHOW DDL RESULT
可以通过SHOW DDL RESULT命令查看近期执行过的DDL任务的结果
|
SQL 关系型数据库 MySQL
开发指南—DML语句—EXPORT
本文介绍了PolarDB-X两种导出数据语法。
|
10月前
|
JavaScript
js获取当前时间的年月日时分秒
js获取当前时间的年月日时分秒
125 0
|
8天前
|
NoSQL Cloud Native Redis
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
阿里云瑶池数据库团队后续将持续参与Valkey社区,如过往在Redis社区一样耕耘,为开源社区作出持续贡献。
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
|
7天前
|
关系型数据库 分布式数据库 数据库
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询
PolarDB分布式版助力《香肠派对》实现百亿好友关系20万QPS的毫秒级查询。
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询
|
9天前
|
消息中间件 Cloud Native Serverless
RocketMQ 事件驱动:云时代的事件驱动有啥不同?
本文深入探讨了云时代 EDA 的新内涵及它在云时代再次流行的主要驱动力,包括技术驱动力和商业驱动力,随后重点介绍了 RocketMQ 5.0 推出的子产品 EventBridge,并通过几个云时代事件驱动的典型案例,进一步叙述了云时代事件驱动的常见场景和最佳实践。
115100 1
|
9天前
|
弹性计算 安全 API
访问控制(RAM)|云上安全使用AccessKey的最佳实践
集中管控AK/SK的生命周期,可以极大降低AK/SK管理和使用成本,同时通过加密和轮转的方式,保证AK/SK的安全使用,本次分享为您介绍产品原理,以及具体的使用步骤。
101871 3
|
6天前
|
物联网 PyTorch 测试技术
手把手教你捏一个自己的Agent
Modelscope AgentFabric是一个基于ModelScope-Agent的交互式智能体应用,用于方便地创建针对各种现实应用量身定制智能体,目前已经在生产级别落地。

相关课程

更多