2011-01-18 2 views

答えて

6

LOAD DATA INFILE

例:

注:Windowsからこれを実行する場合は、前方をエスケープする必要があるファイルパスにスラッシュ。

例:

C:\\path\to\file.txt 

は、次のようになります。ここでは

C:\\\\path\\to\\file.txt 

はクエリです:

LOAD DATA INFILE '/path/to/sample.txt' 
INTO TABLE `database_name`.`table_name` 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\r\n' 
IGNORE 1 LINES 
(
user_id, user_name 
) 
0

に依存しています。 2つのフィールドがタブ文字を使用して区切られている場合は、fgetcsv($f,1000,"\t")が各行の読み込みに使用されます。それ以外の場合は、フィールドを分割する固定幅のテキストファイルの場合はsubstr()を使用します(最終的にtrim()を適用します)。行とフィールドの上に

ループ、と選択肢のデータベースインタフェースを使用します。おそらく、PHPを使用して

db("INSERT INTO tbl (user_id, user_name) VALUES (?,?)", $row); 
1

をこれに類似した何か:

$file = "/path/to/text/file.txt"; 
$fp = fopen($file, "r"); 
$data = fread($fp, filesize($file)); 
fclose($fp); 

上記はにテキストファイルを読み込み、変数

$output = explode("\n", $output); 
foreach($output as $var) { 
$tmp = explode("|", $var); 
$userId = $tmp[0]; 
$userName = $tmp[1]; 

各エンドラインで爆発してデータをtemp variabレ

$sql = "INSERT INTO table SET userId='$userId', userName='$userName'"; 
mysql_query($sql); 

残りにそこから..ファイルにアクセスして読み取るためにPHPの関数fopenを使って、各ラインのために

0

をクエリを実行し、かなりシンプルです。ファイルを1行ずつ読み込み、その値をデータベースに挿入します。

http://us3.php.net/manual/en/function.fopen.php

上記のリンクは、ループを使用すると、このタスクで簡単になります。.. fopen関数がどのように機能するかの非常に良い説明を示します。

関連する問題