千家信息网

mysql中如何使用LOAD语句批量录入数据

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关mysql中如何使用LOAD语句批量录入数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。mysql怎么使用LOAD语句批
千家信息网最后更新 2026年11月01日mysql中如何使用LOAD语句批量录入数据

这篇文章将为大家详细讲解有关mysql中如何使用LOAD语句批量录入数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

  mysql怎么使用LOAD语句批量录入数据

  1、基本语法

  语法:LOADDATA[LOCAL]INFILE'file_name.txt'[REPLACE|IGNORE]INTOTABLEtbl_nameLOADDATAINFILE语句从一个文该篇文章件中以很高的速度读入一个表中。如果指定LOCAL关键词,从客户主机读文件。如果LOCAL没指定,文件必须位于服务器上。(LOCAL在MySQL3.22.6或以后版本中可用。)

  为了安全原因,当读取位于服务器上的文该篇文章件时,文件必须处于数据库目录或可被所有人读取。另外,为了对服务器上文件使用LOADDATAINFILE,在服务器主机上你必须有file的权限。见第七章数据库安全。

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

  如果你使用LOCAL关键词从一个本地文件装载数据,服务器没有办法在操作的当中停止文件的传输,因此缺省的行为好像IGNORE被指定一样。

  2、文件的搜寻原则

  当在服务器主机上寻找文件时,服务器使用下列规则:

  如果给出一个绝对路径名,服务器使用该路径名。

  如果给出一个有一个或多个前置部件的相对路径名,服务器相对服务器的数据目录搜索文件。

  如果给出一个没有前置部件的一个文件名,服务器在当前数据库的数据库目录寻找文件。

  注意这些规则意味着一个像"./myfile.txt"给出的文件是从服务器的数据目录读取,而作为"myfile.txt"给出的一个文件是从当前数据库的数据库目录下读取。也要注意,对于下列哪些语句,对db1文件从数据库目录读取,而不是db2:

  mysql>USEdb1;

  mysql>LOADDATAINFILE"./data.txt"INTOTABLEdb2.my_table;

  mysql怎么使用LOAD语句批量录入数据

  3、FIELDS和LINES子句的语法

  如果你指定一个FIELDS子句,它的每一个子句(TERMINATEDBY,[OPTIONALLY]ENCLOSEDBY和ESCAPEDBY)也是可选的,除了你必须至少指定他们之一。

  如果你不指定一个FIELDS子句,缺省值与如果你这样写的相同:

  FIELDSTERMINATEDBY'\t'ENCLOSEDBY''ESCAPEDBY'\\'

  如果你不指定一个LINES子句,缺省值与如果你这样写的相同:

  LINESTERMINATEDBY'\n'

  换句话说,缺省值导致读取输入时,LOADDATAINFILE表现如下:

  在换行符处寻找行边界

  在定位符处将行分进字段

  不要期望字段由任何引号字符封装

  将由"\"开头的定位符、换行符或"\"解释是字段值的部分字面字符

  LOADDATAINFILE能被用来读取从外部来源获得的文件。例如,以dBASE格式的文件将有由逗号分隔并用双引号包围的字段。如果文件中的行由换行符终止,下面显示的命令说明你将用来装载文件的字段和行处理选项:

  mysql>LOADDATAINFILE'data.txt'INTOTABLEtbl_name

  FIELDSTERMINATEDBY','ENCLOSEDBY'"'

  LINESTERMINATEDBY'\n';

  任何字段或行处理选项可以指定一个空字符串('')。如果不是空,FIELDS[OPTIONALLY]ENCLOSEDBY和FIELDSESCAPEDBY值必须是一个单个字符。FIELDSTERMINATEDBY和LINESTERMINATEDBY值可以是超过一个字符。例如,写入由回车换行符对(CR+LF)终止的行,或读取包含这样行的一个文件,指定一个LINESTERMINATEDBY'\r\n'子句。

  FIELDS[OPTIONALLY]ENCLOSEDBY控制字段的包围字符。对于输出(SELECT...INTOOUTFILE),如果你省略OPTIONALLY,所有的字段由ENCLOSEDBY字符包围。对于这样的输出的一个例子(使用一个逗号作为字段分隔符)显示在下面:

  "1","astring","100.20"

  "2","astringcontaininga,comma","102.20"

  "3","astringcontaininga\"quote","102.20"

  "4","astringcontaininga\",quoteandcomma","102.20"

  如果你指定OPTIONALLY,ENCLOSEDBY字符仅被用于包围CHAR和VARCHAR字段:

  1,"astring",100.20

  2,"astringcontaininga,comma",102.20

  3,"astringcontaininga\"quote",102.20

  4,"astringcontaininga\",quoteandcomma",102.20

  注意,一个字段值中的ENCLOSEDBY字符的出现通过用ESCAPEDBY字符作为其前缀来转义。也要注意,如果你指定一个空ESCAPEDBY值,可能产生不能被LOADDATAINFILE正确读出的输出。例如,如果转义字符为空,上面显示的输出显示如下。注意到在第四行的第二个字段包含跟随引号的一个逗号,它(错误地)好象要终止字段:

  1,"astring",100.20

  2,"astringcontaininga,comma",102.20

  3,"astringcontaininga"quote",102.20

  4,"astringcontaininga",quoteandcomma",102.20

  FIELDSESCAPEDBY控制如何写入或读出特殊字符。如果FIELDSESCAPEDBY字符不是空的,它被用于前缀在输出上的下列字符:

  FIELDSESCAPEDBY字符

  FIELDS[OPTIONALLY]ENCLOSEDBY字符

  FIELDSTERMINATEDBY和LINESTERMINATEDBY值的第一个字符

  ASCII0(实际上将后续转义字符写成ASCII'0',而不是一个零值字节)

  如果FIELDSESCAPEDBY字符是空的,没有字符被转义。指定一个空转义字符可能不是一个好主意,特别是如果在你数据中的字段值包含刚才给出的表中的任何字符。

  对于输入,如果FIELDSESCAPEDBY字符不是空的,该字符的出现被剥去并且后续字符在字面上作为字段值的一个部分。例外是一个转义的"0"或"N"(即,\0或\N,如果转义字符是"\")。这些序列被解释为ASCII0(一个零值字节)和NULL。见下面关于NULL处理的规则。

  总结

  为数据库装载数据是管理员的重要职责之一,正因为重要,所以MySQL提供的方法也是非常繁多。其中主要的在本节已经列举:

  1、使用INSERT、REPLACE语句

  2、使用INSERT/REPLACE…SELECT语句

  3、使用LOADDATAINFILE语句

  4、使用实用程序mysqlimport

关于mysql中如何使用LOAD语句批量录入数据就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

字符 文件 数据 字段 服务器 服务 语句 数据库 子句 目录 转义 篇文章 输出 换行符 处理 相同 主机 关键 关键词 引号 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 保险科技 互联网保险 中国互联网科技工作委员会毛军 互联网 科技 中国互联网科技发展 广州互联网络科技有限公司 善班互联网科技有限公司 互联网科技英文翻译 镁科技互联网资讯平台 安控科技rtu产品工业互联网 河南猎农互联网科技有限公司 银川新华互联网科技学校联系电话 工业互联网等科技实现智能化赋能 华中科技大学互联网的牛人 智帮互联网科技公司最近动向 全球科技与互联网公司市值变化 互联网科技接地气 中国新注册互联网科技 马化腾互联网科技教学 亚光科技低轨卫星互联网 宁波允成互联网科技有限公司 互联网络科技 广州万易互联网科技有限公司 上海互联网科技有限公司 北京互联网科技公司 互联网的科技创新 移动互联网年度科技创新 深圳育鹏互联网科技有限公司招聘 皮皮虾互联网科技有限公司 济南小医互联网科技有限公司招聘 西安左小互联网科技有限公司
0