我有一种情况,我必须从.txt文件插入mysql表。数据格式如下。左右两侧的数据分别显示为2列。并且第3个colum show是id
koijjh12 : 12
lkoiujjf : 12
uoytresf : 15
kjhgfd56 : 50
我们可以使用php脚本将.txt文件导入mysql数据库。
答案 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);
}
?>