开发指南—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)
相关文章
|
8月前
|
机器学习/深度学习 人工智能 前端开发
构建AI智能体:七十、小树成林,聚沙成塔:随机森林与大模型的协同进化
随机森林是一种基于决策树的集成学习算法,通过构建多棵决策树并结合它们的预测结果来提高准确性和稳定性。其核心思想包括两个随机性:Bootstrap采样(每棵树使用不同的训练子集)和特征随机选择(每棵树分裂时只考虑部分特征)。这种方法能有效处理大规模高维数据,避免过拟合,并评估特征重要性。随机森林的超参数如树的数量、最大深度等可通过网格搜索优化。该算法兼具强大预测能力和工程化优势,是机器学习中的常用基础模型。
1364 165
|
搜索推荐 C语言
C语言——qsort函数的使用(详解)
C语言——qsort函数的使用(详解)
|
5月前
|
存储 缓存 安全
Go map 底层原理
虽然大家天天都在用 `map`,但很多人对它的理解只停在“查得快”“底层是哈希表”“桶里有 8 个槽位”这几句。或许跟别人吹牛的时候,还有几分用处;但真到线上排查延迟抖动、锁竞争、内存占用、热点键冲突,这点认识往往是不够的。
435 1
|
6月前
|
人工智能 安全 测试技术
AI应用软件的开发
2026年AI应用开发已迈入“AI原生”时代:以Spec-to-Application为核心,依托推理路由、Graph-RAG记忆、MCP协议、执行沙箱与自动Eval-Loop,实现从确定性编码到概率性智能体编排的范式跃迁。低代码普及,可信可解释成为标配。(239字)
|
7月前
|
域名解析 监控 安全
网络 IP 怎么选?静态动态大不同?
IP地址是设备的“数字身份证”,静态IP固定不变,适合服务器、监控等需稳定连接的场景,利于远程访问和管理,但配置复杂、成本高;动态IP由路由器自动分配,即插即用,安全且节省资源,适合家庭和移动设备。两者各有优劣,选择应根据实际需求,稳定选静态,便捷选动态,适合的才是最好的。
|
10月前
|
Web App开发 网络协议 Linux
如何屏蔽 iOS 26 软件自动更新,去除更新通知和标记
如何屏蔽 iOS 26 软件自动更新,去除更新通知和标记
25463 3
|
消息中间件 自然语言处理 运维
微服务不是银弹!这4个设计原则让你少踩90%的坑
本文深入解析微服务架构与领域驱动设计(DDD)的核心理念与实践方法,帮助开发者正确拆分服务边界,避免常见误区,提升系统可维护性与扩展性,适用于复杂业务场景下的高效开发与团队协作。
1219 1
|
11月前
|
机器学习/深度学习 自然语言处理 算法
基于改进鲸鱼优化算法的微网系统能量优化管理研究(Matlab代码实现)
基于改进鲸鱼优化算法的微网系统能量优化管理研究(Matlab代码实现)
386 1
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL多场景评测
本次评测将围绕指定场景中的灵活弹性和无感秒切展开,对于自选场景中的安全和DB+AI也进行了简单体验。
1407 3
PolarDB MySQL多场景评测
|
人工智能 API 开发者
智能体(AI Agent)开发实战之【LangChain】(一)接入大模型输出结果
LangChain 是一个开源框架,专为构建与大语言模型(LLMs)相关的应用设计。通过集成多个 API、数据源和工具,助力开发者高效构建智能应用。本文介绍了 LangChain 的环境准备(如安装 LangChain、OpenAI 及国内 DeepSeek 等库)、代码实现(以国内开源大模型 Qwen 为例,展示接入及输出结果的全流程),以及核心参数配置说明。LangChain 的灵活性和强大功能使其成为开发对话式智能应用的理想选择。

热门文章

最新文章