2011-01-18 109 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

取決於。如果兩個字段使用TAB字符分隔,則fgetcsv($f,1000,"\t")將工作在每行中讀取。否則,使用substr()如果它是一個固定寬度欄文本文件分割領域(應用trim()最終)。

遍歷行和領域,並使用你選擇的數據庫接口:

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

使用PHP,可能也有類似這樣:

$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]; 

告訴它在每個Endline爆炸,然後將數據存儲在temp variab萊

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

執行查詢的每一行

0

使用PHP的fopen函數來訪問和讀取文件。從那裏休息是非常簡單的。逐行讀取文件並將值插入到數據庫中。

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

上面的鏈接給出了fopen函數是如何工作的一個很好的說明..使用循環將很容易完成這一任務。