如果一次性需要插入大批量数据,使用insert语句插入性能较低
可以使用MySQL数据库提供的load
指令进行数据插入:
# 执行load指令将准备好的数据,加载到表结构中
load data local infile '/root/data.txt' --注意文件地址要输入正确
into table `tb_user` --需要导入的表名
fields terminated by ',' --指定文件的每个字段用 , 分隔
optionally enclosed by '"' --数据源的字段开始和结束都是带双引号的,无视这些个双引号
escaped by ' ' --空格字符将被去除
lines terminated by '\n'; --以回车字符结束
txt文件数据类似这样:
执行load data local infile如果发现报错:Loading local data is disabled; this must be enabled on both the client and server sides
翻译:forLoading local data被禁用;这必须在客户端和服务器端都启用
这种报错是属于mysql导入数据报错:local_infile服务器变量指示能否使用load data local infile命令。该变量为OFF时,禁用客户端的load data local infile命令,只要我们将该变量设置为ON时, 报错才会消失。
解决办法:
在mysql中输入命令:set global local_infile=1;