我有一个数以百万计的字符串非常大的.txt文件,它有分离符号。如何将大的.txt文件传输到MySQL?
那么,将所有这些字符串转移到数据库的最简单方法是什么?它是PHP打开并采取爆炸每个字符串并将其插入数据库?
文件是2 GB。
我有一个数以百万计的字符串非常大的.txt文件,它有分离符号。如何将大的.txt文件传输到MySQL?
那么,将所有这些字符串转移到数据库的最简单方法是什么?它是PHP打开并采取爆炸每个字符串并将其插入数据库?
文件是2 GB。
使用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我以为phpmyadmin总是使用INSERT进口。 –
$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);
另一种解决方案报价,但日本央行的解决方案是比这更好的。
听起来正确。 –
您可以搜索/替换您的文件(使用'sed'或'awk'或'perl')到SQL脚本中吗? –
你可以看看它是否可以使用PHPMyAdmin导入。如果没有,您可以使用PHP创建一个可导入的文件。这可能比只按照记录导入记录更好。 – GolezTrol