如何将此数据文件导入Mysql表

时间:2011-03-14 01:14:18

标签: php mysql database

如何将此数据文件导入MySQL表?

1,AF,Afghanistan
2,AX,Aland Islands
3,AL,Albania
4,DZ,Algeria
5,AS,American Samoa
6,AD,Andorra
7,AO,Angola
8,AI,Anguilla
9,AQ,Antarctica
10,AG,Antigua And Barbuda
11,AR,Argentina
12,AM,Armenia
13,AW,Aruba
14,AU,Australia
15,AT,Austria
16,AZ,Azerbaijan
17,BS,Bahamas
18,BH,Bahrain
19,BD,Bangladesh
20,BB,Barbados
21,BY,Belarus
22,BE,Belgium

4 个答案:

答案 0 :(得分:8)

LOAD DATA查询救援!

LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test
FIELDS TERMINATED BY ',' 

有关http://dev.mysql.com/doc/refman/5.1/en/load-data.html

的更多信息

答案 1 :(得分:1)

为了将文件加载到mysql中,您需要使用LOAD DATA INFILE mysql command.但是您要小心加载到的内容。很多时候,如果表的组织方式与文本文件的组织方式不同,则需要指定列。详细说明ChrisR的答案:

LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test 
FIELDS TERMINATED BY ',' (id, code, name);

如果您的列名是您指定的三列的id,code和name,那么这将有效。这将允许您导入文件,即使表格已布局 列:

+------+------+----+
| name | code | id |
+------+------+----+

答案 2 :(得分:0)

preg_split()应该为每一行提供技巧。

答案 3 :(得分:0)

您可以使用phpMyAdminNavicat之类的GUI来导入它,或者编写PHP脚本来自行完成,或者使用LOAD DATA INFILE与MySQL一起使用。我会检查fgetcsv以读取文件中的行数,然后遍历每一行并将它们插入到数据库中