从.text文件插入mysql表

时间:2012-08-23 09:52:16

标签: php mysql

我有一种情况,我必须从.txt文件插入mysql表。数据格式如下。左右两侧的数据分别显示为2列。并且第3个colum show是id

koijjh12 : 12
lkoiujjf : 12
uoytresf : 15
kjhgfd56 : 50

我们可以使用php脚本将.txt文件导入mysql数据库。

2 个答案:

答案 0 :(得分:10)

您当然可以通过PHP脚本来完成,但最好的方法是使用Mysql load data infile语法,如下所示:

LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test
  FIELDS TERMINATED BY ','  LINES TERMINATED BY '\n';

在你的情况下,看起来这些字段被:终止,所以你可以像这样轻松地改变它:

LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test
  FIELDS TERMINATED BY ' : '  LINES TERMINATED BY '\n';

您可以通过将其作为查询插入来从任何mysql查询函数运行此命令。这将比你手动在PHP中做的任何事情都快 (比如将文本读入PHP,然后将其插入数据库中)。

修改:请注意,如果您在字符串中使用此字符,则需要使用其他\转义换行符中的\,如下所示:LINES TERMINATED BY '\\n';

答案 1 :(得分:6)

类似的东西:

<?php

$content = file_get_contents("a.txt");
$lines = explode("\n", $content);
foreach ($lines as $line) {
    $row = explode(":", $line);
    $query = "INSERT INTO tablename SET val1 = '" . trim($row[0]) . "', val2 = '" . trim($row[1]) . "'";
    mysql_query($query);
}

?>