我有一个非常大的.txt文件,包含数百万个字符串,并且有分离符号。
那么,将所有这些字符串传输到数据库的最简单方法是什么?它是PHP fopen并使每个字符串爆炸并将其插入数据库吗?
文件是2 GB。
答案 0 :(得分:8)
使用phpmyadmin为您生成命令,即:
LOAD DATA LOCAL INFILE 'input_file' INTO TABLE `tablename` FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n'
引自http://vegdave.wordpress.com/2007/05/19/import-a-csv-file-to-mysql-via-phpmyadmin/
答案 1 :(得分:1)
$mysql = mysql_connect("localhost", "user", "password");
mysql_select_db("database", $mysql);
$filename = "file.txt";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize($filename));
fclose($handle);
$array = explode('[separator]', $contents);
foreach ($array as $line)
{
mysql_query("INSERT INTO table VALUES (".mysql_real_escape_string($line).")", $mysql);
}
mysql_close($mysql);
另一种解决方案,但是boj'解决方案比这更好。
答案 2 :(得分:0)