.txt ファイルから mysql テーブルに挿入する必要がある状況があります。データは以下の形式です。左と右の両方のデータが別々に 2 列に挿入されます。3列目はbe idを示しています
koijjh12 : 12
lkoiujjf : 12
uoytresf : 15
kjhgfd56 : 50
php スクリプトを使用して、その .txt ファイルを mysql データベースにインポートできますか。
確かに 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';
そんな感じ:
<?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);
}
?>