2014-12-04 103 views
0

所以我有一個精確的代碼列表(100,000),我把它們放在一個csv文件中。將csv導入到mysql中(代碼列表)

我想把這些代碼放在數據庫中,以便以後可以使用我的php腳本獲取它們。 但是我的問題是如何從右表中的文件中獲取我的代碼?

這是我的數據庫此刻的樣子。

http://i.stack.imgur.com/HMxqC.png

從文件中的代碼需要在表的代碼將被插入。 希望有人能幫我解決這個問題。

+0

因爲我在看的phpMyAdmin的截圖,你爲什麼不繼續前進,點擊phpMyAdmin的「導入」鏈接? – RichardBernards 2014-12-04 13:14:58

+0

你應該看看這個答案的類似問題:http://stackoverflow.com/questions/9536923/perl-mysql-fasting-way-to-upload-a-csv-file-into-mysql/9536990# 9536990 – dweeves 2014-12-04 13:16:19

+0

你可以顯示你的excel文件格式.....? – Yash 2014-12-04 13:16:57

回答

1

你可能會發現這是很有幫助的(請調整表和其他名稱):

LOAD DATA INFILE 'codes.csv' 
INTO TABLE codes 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
IGNORE 1 ROWS; 
(@id,code,@active) 
SET id = null; 
SET active = '1' 

更多細節: http://www.mysqltutorial.org/import-csv-file-mysql-table/

+0

非常感謝你! – 2014-12-04 13:28:24

1

試試這個:

你可以上傳你的CSV文件,發表它。然後使用這個功能。

這是PHP代碼:

function get_csv_file($filename){ 
if (($handle = fopen($filename, "r")) !== false) { 
$filesize = filesize($filename); 
$firstRow = true; 
$aData = array(); 
while (($data = fgetcsv($handle, $filesize, ";")) !== false) { 
    if($firstRow) { 
     $aData = $data; 
     $firstRow = false; 
    } else { 
     for($i = 0;$i < count($data); $i++) { //only for csv file 
      if($data[$i] != '') 
      $aData[] = $data[$i]; 
     } 
    } 
} 
//print_r($aData); 
fclose($handle); 
$finalscrap = array_unique($aData); 
    // echo "<pre>"; 
    // print_r($finalscrap); 
    // echo "<pre/>"; 
return $finalscrap; //this is your record as array format 
} 
}