mysql 语句LOAD DATA INFILE高效导入数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 语句LOAD DATA INFILE高效导入数据相关的知识,希望对你有一定的参考价值。

参考技术A

mysql LOAD DATA INFILE使用官方地址

https://dev.mysql.com/doc/refman/5.7/en/load-data.html

load data infile语句从一个文本/文件中以很高的速度写入表中。

读取位于服务器上的文本文件时,文件必须处于数据库目录或可被所有人读取

你指定关键词low_priority,那么MySQL将会等到没有其他人读这个表的时候,才把插入数据

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

eplace和ignore关键词控制对现有的唯一键记录的重复的处理

fields关键字指定了文件记段的分割格式

terminated by分隔符:意思是以什么字符作为分隔符

enclosed by字段括起字符

escaped by转义字符

terminated by描述字段的分隔符,默认情况下是tab字符( )

enclosed by描述的是字段的括起字符。

escaped by描述的转义字符。默认的是反斜杠(backslash: )

1、win系统导入

批处理文件 import.bat 路径为d:/files/bat

/*dbhost执行文件不在本服务器需要,本次忽略*/

/*数据库账号名称*/

/*数据库密码*/

@SET dbpasswd=****

//需要执行的sql语句

/*未配置环境变量时加下下面两句*/

/*连接MySQL数据库并执行sql脚本 注意database为写入数据库名*/

sq文件 demo.sql 路径为d:/files/bat

/*D:filessimple.csv文件路径 ,table为写入数据表名,uname, phone数据库字段名称*/

/*退出*/

simple.csv

php执行批处理

注意如果system执行失败

编辑 php.ini 查找 disable_functions 将等号后面的 system 去掉即可 。其他人自行查资料

注意导入前开启mysql local_infile

开启local_infile

2、linux系统导入

linux导入比较简单:

注意 ***处填写数据库账号,****处填写数据库密码

table为写入数据表名,uname, phone数据库字段名

批处理文件 import.sh 路径为d:/files/bat

php执行批处理

注意如果system执行失败

编辑php.ini查找 disable_functions 将等号后面的 system 去掉即可。其他错误自行查资料

注意导入前开启mysql local_infile

开启local_infile

Load data local infile 实验报告

1、实验内容:

    利用SQL语句“load data local infile”将“pet.txt”文本文件中的数据导入到mysql中

    (pet表在数据库menagerie中)

2、实验过程及结果:

    (1)通过命令行连接mysql服务器:mysql -u root -p        

      技术图片

     (2)将数据写入文本文件pet.txt,并保存至E:/Desktop中

        技术图片

     (3)使用数据库menagerie

        技术图片

     (4)将“pet.txt”文本文件中的数据导入到mysql中

        技术图片

         出现以上错误,发现local-infile值为OFF

        技术图片

        将local-infile的值设为1

        技术图片

        再次执行Loda data... 语句,数据导入成功

        技术图片

     (5)查看pet表中内容

       技术图片

     (6)实验成功。

3、实验心得与体会

     通过此次实验,我进一步掌握了使用mysql中的load data infile导入数据,并了解到对关于此命令运行时的一些常见错误的解决办法。

以上是关于mysql 语句LOAD DATA INFILE高效导入数据的主要内容,如果未能解决你的问题,请参考以下文章

Mysql load data infile 效率问题

Load data local infile 实验报告

mysql导入数据load data infile用法整理

Load data local infile 实验报告

如何在mysql-connector-java上允许LOAD DATA LOCAL INFILE?

select into outfile 与 load data infile