mysql导入txt数据文件实例

2013-08-08

若要将大量的数据值插入到数据库的一个或多个表中,使用insert into语句来实现将是一项无聊的工作。

1、LOAD DATA通过读取本地文件系统上的文件,可以将大量数据添加到数据库中。

语法:

mysql> USE db1;

mysql> LOAD DATA INFILE 'datafile.txt' INTO TABLE db2.table_name;

mysql> LOAD DATA INFILE 'datafile.txt' INTO TABLE db2.table_name FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"';

mysql> load data infile "file.txt" into table table_name fields terminated by '\t' (sid,name);

该语句读取当前目录中数据文件datafile.txt的内容,将其内容装载到数据表table_name中。其中:

datafile.txt是当前目录中的数据文件,

table_name是要被load的表名。

FIELDS TERMINATED BY ','说明使用逗号作为字段分隔符,FIELDS TERMINATED BY '\t' 在制表符处把行分解为字段。

FIELDS [OPTIONALLY] ENCLOSED BY用于控制字段的引号。否则会将双引号当作字段内容导入table。

更多自定义FIELDS TERMINATED BY和LINES TERMINATED BY等等。

2、还有一个mysqlimport命令可以批量增加,mysqlimport直接从文件读取批量数据。它相当于LOAD DATA语句的一个接口。

mysqlimport可以自动生成一个LOAD DATA语句,该语句把filename.txt文件中的数据装入table_name表中。

mysqlimport根据文件名导入表名,即将文件名第一个圆点前的所有字符作为表名。例如,文件class.txt被装入class表中。

例如:

mysqlimport -L -uroot -proot db01 table_name.txt;

mysqlimport -local table_name filename.txt;

3、datafile.txt内容:

"1","a string","100.20"

"2","a string containing a , comma","102.20"

"3","a string containing a \" quote","102.20"

"4","a string containing a \", quote and comma","102.20"

4、参考

mysql手册

相关日志

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐