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手册

分类:数据库 | 标签: |

相关日志

评论被关闭!