MySQL——load语句导入数据

使用LOAD语句批量导入数据到MySQL 然后使用LOAD语句指定数据文件的路径、字段和行的分隔符,以及要导入数据的列。在本例中,我们将数据分别插入到"first_name"、"last_name"和"email"列中。例如,假设我们有一个名为"employees"的表,包含"first_name"、"last_name"和"email"三个列。确保文件的格式与MySQL表的结构相对应,即每个字段的顺序和数据类型应与表中的列相匹配。需要注意的是,执行LOAD语句时需要确保MySQL服务器对数据文件所在的路径具有足够的读取权限。 阅读详情

一、使用load语句导入数据。

最近在看有关SQL常用优化的方案,涉及到使用load语句导入大量数据到数据库,按照官方的说法:使用load语句要比使用insert语句将近快20倍的速度,平时开发中很少涉及导入大量数据,所以,平时都是使用insert语句导入。这里对load命令进行简单的总结。

进入MySQL后,使用命令:load data local infile 'S:/tab_user.txt' into table tab_user lines terminated by '\r\n' ignore 1 lines;

该语句的语法如下:

基本语法:
load data  [low_priority] [local] infile 'file_name txt' [replace | ignore]
into table tbl_name
[fields
[terminated by't']
[OPTIONALLY] enclosed by '']
[escaped by'\' ]]
[lines terminated by'n']
[ignore number lines]
[(col_name,   )]

语法部分说明:load data infile语句从一个文本文件中以很高的速度读入一个表中。使用这个命令之前,mysqld进程(服务)必须已经在运行。为了安全原因,当读取位于服务器上的文本文件时,文件必须处于数据库目录或可被所有人读取。另外,为了对服务器上文件使用load data infile,在服务器主机上你必须有file的权限。

(1)、如果你指定关键词low_priority,那么MySQL将会等到没有其他人读这个表的时候,才把插入数据。可以使用如下的命令: 
load data  low_priority infile "S:/tab_user.txt" into table tab_user;  

(2)、如果指定local关键词,则表明从客户主机读文件。如果local没指定,文件必须位于服务器上。

(3)、replace和ignore关键词控制对现有的唯一键记录的重复的处理。如果你指定replace,新行将代替有相同的唯一键值的现有行。如果你指定ignore,跳过有唯一键的现有行的重复行的输入。如果你不指定任何一个选项,当找到重复键时,出现一个错误,并且文本文件的余下部分被忽略。例如:

load data  low_priority infile "S:/tab_user.txt" replace into table tab_user;
(4)、分隔符
(a) fields关键字指定了文件记段的分割格式,如果用到这个关键字,MySQL剖析器希望看到至少有下面的一个选项: 
terminated by分隔符:意思是以什么字符作为分隔符
enclosed by字段括起字符
escaped by转义字符
terminated by描述字段的分隔符,默认情况下是tab字符(\t) 
enclosed by描述的是字段的括起字符。
escaped by描述的转义字符。默认的是反斜杠(backslash:\ )  
例如:load data infile "S:/tab_user.txt" replace into table tab_user (id,name) terminated by','  ignore 1 lines;(,作为分隔符)
(b)lines 关键字指定了每条记录的分隔符默认为'\n'即为换行符
如果两个字段都指定了那fields必须在lines之前。如果不指定fields关键字缺省值与如果你这样写的相同: fields terminated by'\t' enclosed by ’ '' ‘ escaped by'\\'
如果你不指定一个lines子句,缺省值与如果你这样写的相同: lines terminated by'\n'
例如:load data infile "s:/tab_user.txt" replace into table test fields terminated by ',' lines terminated by '/n';
(5)、load data infile 可以按指定的列把文件导入到数据库中。 当我们要把数据的一部分内容导入的时候,需要加入一些栏目(列/字段/field)到MySQL数据库中,以适应一些额外的需要。比方说,我们要从Access数据库升级到MySQL数据库的时候
下面的例子显示了如何向指定的栏目(field)中导入数据: 
load data infile "s:/tab_user.txt" into table tab_user(id, name);
(6)、当在服务器主机上寻找文件时,服务器使用下列规则: 
(a)如果给出一个绝对路径名,服务器使用该路径名。 
(b)如果给出一个有一个或多个前置部件的相对路径名,服务器相对服务器的数据目录搜索文件。  
(c)如果给出一个没有前置部件的一个文件名,服务器在当前数据库的数据库目录寻找文件。 
例如: /myfile txt”给出的文件是从服务器的数据目录读取,而作为“myfile txt”给出的一个文件是从当前数据库的数据库目录下读取。
注意:字段中的空值用\N表示

如下面例子所示:创建数据表tab_user,有两个属性。如下所示:
在S盘下,tab_user.txt文件如下:
进入数据库后:使用命令:
load data local infile 'S:/tab_user.txt' into table tab_user lines terminated by '\r\n' ignore 1 lines;
以上命令的解释:从客户主机上S盘下读取tab_user.txt文件数据,每行以回车换行作为分隔符,同时忽略第一行的数据,
插入数据表tab_user。(这里的属性没有知道,默认是以\t作为分隔符)。
也可以这样指定:fields terminated by '\t',说明,txt文件中,各属性以\t作为分割。命令如下:
load data local infile 'S:/tab_user.txt' into table tab_userfields terminated by '\t'lines terminated by '\r\n' ignore 1 lines;     
执行命令如下所示:
   
执行成功。

总结:特别注意命令语法的说明,以及命令的解释。
使用MySQL的LOAD DATA INFILE语句进行数据导入 你可以根据自己的需求调整LOAD DATA INFILE语句的参数,以适应不同的数据文件格式和表结构。:这是一个可选的关键字,用于指定在数据导入过程中遇到重复记录时的处理方式。:这是LOAD DATA INFILE语句的起始部分,用于指定要导入的文件路径。:这是一个可选的参数,用于指定在导入过程中要跳过的行数。你可以指定要跳过的行数,以便直接导入文件中的特定行。如果导入的文件使用了特定的字符集编码,请在此处指定该编码。你需要按照目标表的列顺序,在括号中指定要插入数据的列。:这是指定要导入数据的目标表名。 阅读详情

相关推荐

mysql中的load命令使用方法

使用mysql 中的load 命令,讲txt 文件中的内容加载到数据库表中,例如,创建table,名称是user,一个字段username;当前有db.txt文件,内容是以空格分开的用户名,例如:xiaowang xiaoliu zhangsan 将该文件加载到数据表user中,使用命令即可: 代码如下: load data local infile “/home/beaver/db” into table user lines terminated by ‘ ‘;  作者 Beaver’s LOAD DATA INFILE 这是我们要介绍的最后一个导入数据到MySQL数据库中的方法。这个命

Mysql load_mysql load命令

mysql load命令LOAD DATA INFILE这是我们要介绍的最后一个导入数据到MySQL数据库中的方法。这个命令与mysqlimport非常相似,但这个方法可以在mysql命令行中使用。也就是说您可以在所有使用API的程序中使用这个命令。使用这种方法,您就可以在应用程序中导入您想要导入的数据。 使用这个命令之前,mysqld进程(服务)必须已经在运行。启动mysql命令行:bin/my...

weixin_29189987的博客 632

【电击防护篇】电击防护技术详解:从人体效应到接地系统全解析

本文系统讲解了电击防护的关键知识,包括电流对人体的影响(如30mA是心室颤动阈值)、人体电阻特性(700Ω-6100Ω)以及电气接触防护措施。重点分析了TT、TN和IT三大接地系统的结构特点与应用场景,强调TN-S系统最安全,IT系统供电连续性最佳。详细介绍了漏电保护器(RCD)的工作原理与选型指南,建议人身防护选用30mA高灵敏度RCD。文章通过对比表总结三大系统的安全性、成本及适用场景,为电气安全设计提供实用参考。

2301_81299416的博客 1745

mysql之load教程_mysql load操作

load的语法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' ]][LI...

weixin_34646919的博客 2229

从零开始:使用Remix和MetaMask在测试网部署智能合约的完整指南

本文提供了一份完整的指南,教你如何使用Remix和MetaMask在测试网上部署智能合约。从环境搭建、获取测试网代币到编写和部署合约,再到与合约交互和连接Python后端,涵盖了智能合约开发的各个环节。特别适合初学者快速上手区块链开发,同时介绍了安全注意事项和调试技巧。

weixin_29019241的博客 474

使用Python下载ECMWF的ERA-5数据

一、注册账号 [官网]https://www.ecmwf.int/ 二、登录后获取下载key https://cds.climate.copernicus.eu/api-how-to 如图右侧红色框中的内容复制保存为TXT文件,并重命名为“.cdsapirc”,注意前面有点,保存在 C:\Users\username\.cdsapirc,(WINDOWS系统),username指当前电脑登录账户。 三、安装cdsapi库 以pycharm为例: 在pycharm中依次打开:File>setting

wise_sun的博客 7706

MySQL 快速导入数据指令load Data 详解

介绍mysql快速导入数据指令load data

小兀的博客 1万+

Android系统解决-授予管理所有文件的权限问题

Android版本一直在加,Android9/Android10/Android11/Android12/Android13/Android14/Android15 , 客户app 也在不断适配,但是存在特别是定制产品中,客户不愿意适配,啥问题都让系统解决,绕过一定机制、实现。这里说的就是一个常见的常见需求:Android13 上面,客户要求默认授予管理所有文件的权限,如下:问题是机器重启后这个权限仍需要重新打开才行,那就是每次开机使用某些功能前都需要授权一次。是的ADB对应命令。

十年饮冰,难凉热血 2542

load语句导入数据到mysql_使用LOAD DATA和INSERT语句导入Mysql数据

(4)两个命令的 FIELDS 和 LINES 子句的语法是一样的。两个子句都是可选的,但是如果两个同时被指定,FIELDS 子句必须出现在 LINES 子句之前。(5)如果用户指定一个 FIELDS 子句,它的子句 (TERMINATED BY、[OPTIONALLY] ENCLOSED BY 和 ESCAPED BY) 也是可选的,不过,用户必须至少指定它们中的一个。其意义为:TERMINAT...

weixin_36309193的博客 324

一键生成Microsoft Store应用直链下载:绕过商店故障的终极方案

遇到商店无法加载时,复制链接 → 粘贴到Adguard → 下载主程序包 → 开启开发者模式安装。整个过程耗时不超过2分钟,彻底摆脱商店依赖!

安德洛夫 2192

基于电阻分压 + 电压跟随器的直流母线电压采样电路

摘要:本文介绍了一种基于电阻分压和电压跟随器的直流母线电压采样电路设计。该电路通过R38(240kΩ)和R41(20kΩ)组成的分压网络将高电压(如48V)降至3V,再经GS8331运放构成的电压跟随器进行隔离缓冲,最后通过RC滤波输出给ADC采集。重点分析了关键元件的选型要求:分压电阻需高精度、低温度系数;运放需高输入阻抗、低失调电压;滤波电容需稳定性好。该设计适用于工业电源、新能源BMS、变频器等需要高精度电压采样的应用场景。

qq_37999850的博客 895

load语句导入数据到mysql_使用load data导入数据到mysql

除了mysqlimport方式导入数据到mysql,用得更多是load data语句,其功能类似与Oracle的sqlload。详细的用法可以help load data查看。1、准备导入数据[root@D2-LZY245 ~]# cat /tmp/emp.txt100,Steven,King,24000.00101,Neena,Kochhar,17000.00102,Lex,De Haan,17...

weixin_33416900的博客 473

YOLOv11改进策略【Neck】| 适用关键点检测:PSFM,深层语义融合模块 引入深层与浅层交叉注意力机制,动态建模不同层级的全局语义依赖关系

本文记录的是利用PSFM 模块改进 YOLOv11 的颈部融合部分,专门用于关键点检测。PSFM模块(Profound Semantic Fusion Module,深层语义融合模块) 通过在特征提取网络的深层引入跨模态交叉注意力机制,动态建模红外与可见光特征的全局语义依赖关系。本文将其应用到的颈部部分,融合深层与浅层特征,捕捉长距离语义关联,增强融合特征的判别性与场景理解能力,为检测头提供包含全局上下文的高层语义表示,从而提升模型在复杂场景下的目标检测准确率与语义推理鲁棒性。Rethinking the

Limiiiing的博客 653

php语句导入mysql_mysql使用LOAD语句批量导入数据

本章的前面讨论如何使用SQL向一个表中插入数据。但是,如果你需要向一个表中添加许多条记录,使用SQL语句输入数据是很不方便的。幸运的是,MySQL提供了一些方法用于批量录入数据,使得向表中添加数据变得容易了。本节以及下一节,将介绍这些方法。本节将介绍SQL语言级的解决方法。1、基本语法语法:LOAD DATA [LOCAL] INFILE 'file_name.txt' [REPLACE | IG...

weixin_39570777的博客 237

微信小程序 - 实现嵌套H5页面唤起微信支付的实现方案+完整流程源码,微信小程序webview(H5页面)调用微信小程序支付,嵌套h5页面怎么实现小程序支付(Vue2/3移动端H5网页、公众号网页等)

h5嵌入微信小程序微信支付,H5网页嵌入到微信小程序内如何支付,微信小程序webview组件交互,内联h5页面并网页实现微信支付,微信H5页面实现微信小程序支付,微信小程序嵌套webview实现小程序微信支付,小程序中内嵌H5网页支付怎么办,用网页的支付还是小程序的支付?支付没反应,支付报错怎么办,微信小程序内嵌h5,h5调用小程序支付功能解决方案,H5网页cors跨域,真机测试无法唤起支付,无法唤起支付,uniapp微信小程序,h5小程序调用微信支付,微信小程序内嵌H5页面,如何实现微信支付功能,微信小程

🏆 前端领域优质创作者 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

使用LOAD DATA和INSERT语句导入Mysql数据

在“MySQL数据库(表)的基本操作”一节中我们创建过一个会员注册表“Users”,这次我们就往这个表中以不同的方式导入数据。INSERT语句 关于INSERT语句,这里简单讲述两个常用的句子结构。INSERT把新行插入到一个存在的表中,INSERTINTO... VALUES形式的语句是明确指定插入行的值,INSERT INTO SELECT形式是插入从其他表选择行的值。INSERT ...

weixin_33830216的博客 807

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

java中使用load语句_Java利用MYSQL LOAD DATA LOCAL INFILE实现大批量导入数据到MySQL

Java利用MYSQL LOAD DATA LOCAL INFILE实现大批量导入数据到MySQL发布于 2020-7-28|复制链接Mysql load data的使用,MySQL的LOAD DATAINFILE语句用于高速地从一个文本文件中读取行,并装入一个表中Mysql load data的使用数据库中,最常见的写入数据方式是通过SQL INSERT来写入,另外就是通过备份文件恢复数据库,这...

weixin_42300329的博客 1168

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Linux系统下MySQL的导入数据的命令语句Load Data InFile的用法详解

文章目录语法格式low_priority错误汇总 语法格式 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 | CO

liaowenxiong的博客 3898

Linux的load导入语句,LOAD DATA INFILE语句导入数据进入MySQL的一些注意事项

可以用以下语句导入CSV或其他格式数据进入MySQL数据库,LOAD DATA LOCAL INFILE "C:\\wamp\\apps\\litigationinfo.csv"REPLACE INTO TABLE litigationinfoCHARACTER SET utf8FIELDS TERMINATED BY ","ENCLOSED BY ""LINES TERMINATED BY "\...

weixin_39662142的博客 337

linux mysql load_file语句_mysql导入数据load data infile用法

我的文章一般浅显易懂,不会搞那么深入让大家很难理解。(其实我水平也不咋样)LOAD DATA INFILE 一直被认为是MySQL很强大的一个数据导入工具,因为他速度非常的快。不过有几个问题一定要注意1、编码。2、灵活导入导出。我来举两个例子说明一下。一、关于编码我们的示例文本文件:"我爱你","20","相貌平常,经常耍流氓!哈哈""李奎","21","相貌平常,经常耍流氓!哈哈""王二米","...

weixin_32954161的博客 421

mysql 5.7 load data_MySQL 5.5使用LOAD DATA INFILE语句导入数据

相关参数:local从客户端主机读取文本文件ignore如果你指定了这个参数,则重复的记录会被跳过replace如果你指定了这个参数,,则重复的记录会被覆盖掉IGNORE number LINES导入的时候跳过指定的前几行例如:LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test IGNORE 1 LINES;FIELDS TERMINATED BY指定...

weixin_36435442的博客 719

java mysql 文本导入数据语句_Java利用MYSQL LOAD DATA LOCAL INFILE实现大批量导入数据到MySQL...

Mysql load data的使用数据库中,最常见的写入数据方式是通过SQL INSERT来写入,另外就是通过备份文件恢复数据库,这种备份文件在MySQL中是SQL脚本,实际上执行的还是在批量INSERT语句。在实际中,常常会遇到两类问题:一类是数据导入,比如从word、excel表格或者txt文档导入数据(这些数据一般来自于非技术人员通过OFFICE工具录入的文档);一类数据交换,比如从MyS...

weixin_33167456的博客 303

MySQL 5.5使用LOAD DATA INFILE语句导入数据

相关参数: local 从客户端主机读取文本文件 ignore 如果你指定了这个参数,则重复的记录会被跳过 replace 如果你指定了这个参数,,则重复的记录会被覆盖掉 IGNORE number LINE...

cuantangnie3915的博客 211

load语句导入数据到mysql_用LOAD命令批量导入文件内容到MySQL数据库中

该命令:Load Data Local InFile 'dir.txt' Into Table table_name;(规范貌似是除了文件名和表名是小写,其他全部是大写,我自己打的时候懒得分大小写,它也默认能识别,不过好像不太好)忽略大小写,默认同行数据间为'\t',一行以'\n'结束,把文件里的数据安行`读入到数据库中过程中遇到过的问题:1.默认安装时没有配置,会显示:The used comm...

weixin_35444557的博客 389

linux mysql load_file语句_mysql用LOAD DATA INFILE导入数据

使用以下语句导入数据LOADDATAINFILE'/home/jason/st_stock.txt'INTOTABLEst_stockFIELDSTERMINATEDBY','OPTIONALLYENCLOSEDBY'\"';一开始以为是没把文件放在mysql的临时目录下,于是使用以下命令查看mysql的临时目录mysql>showvariableslike...

weixin_42511512的博客 768
上一篇: MySQL——配置文件(my.ini)
下一篇: MySQL——常用SQL优化(一)
spring_model
博客等级 码龄11年 36粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值