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

mysql 语句LOAD DATA INFILE高效导入数据,第1张

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

如果 *** 作系统兼容性强的话,mysql数据直接复制数据可以用。

直接复制数据的步骤如下:

复制一定前必须关闭MYSQL程序(不关闭程序,复制出的表易出问题,复制不全面);

选中要复制的数据右键复制或者ctrl+c后粘贴即可。

如果 *** 作系统不兼容的话,mysql数据直接复制数据不可以用。

最好的方法是使用导入数据的方法,导入数据的步骤如下:

选中数据库mydata;

右击出现“运行sql文件”;

把需要导入的数据库文件,后缀名是sql选好,直接导入即可。

但是这种方法对大数据量的表进行 *** 作非常慢。因为不仅导出了数据同时导出了表结构。

在针对大数据量的表时,可以使用infile导入数据,导入时间会很快,命令如下:

mysql>load data infile '文件路径' into table 表名

导入mysql最快的方法:可以用infile语句来 *** 作导入数据。MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的rdbms应用软件之一。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7269218.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存