2

.txt ファイルから mysql テーブルに挿入する必要がある状況があります。データは以下の形式です。左と右の両方のデータが別々に 2 列に挿入されます。3列目はbe idを示しています

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

php スクリプトを使用して、その .txt ファイルを mysql データベースにインポートできますか。

4

2 に答える 2

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';

于 2012-08-23T09:53:46.313 に答える
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);
}

?>
于 2012-08-23T09:57:42.433 に答える