非常に大きな CSV ファイル (150 MB) があります。それを MySQL にインポートする最良の方法は何ですか? MySQL テーブルに挿入する前に、PHP で何らかの操作を行う必要があります。
6584 次
2 に答える
6
MySQLのLOADDATAINFILEを見ることができます。
データを最初にPHPに読み込むのではなく、データがMySQLに読み込まれると、操作を実行できる場合があります。まず、LOAD DATA INFILEを使用して生データを一時テーブルに格納し、次に次のようなステートメントを使用してデータをターゲットテーブルに変換します。
INSERT INTO targettable (x, y, z)
SELECT foo(x), bar(y), z
FROM temptable
于 2010-09-23T07:33:10.653 に答える
3
fopen で開き、fgetcsv を使用して各行を配列に読み込みます。疑似phpは次のとおりです。
mysql_connect( //connect to db);
$filehandle = fopen("/path/to/file.csv", "r");
while (($data = fgetcsv($filehandle, 1000, ",")) !== FALSE) {
// $data is an array
// do your parsing here and insert into table
}
fclose($filehandle)
于 2010-09-23T07:38:48.083 に答える