我有一個非常大的CSV文件(150 MB)。將其導入MySQL的最佳方式是什麼? 在將它插入到MySQL表之前,我必須在PHP中進行一些操作。使用php導入大型csv文件到mysql數據庫
回答
你可以看看MySQL中的LOAD DATA INFILE。
一旦數據加載到MySQL中,您可能可以完成操作,而不是先讀取到PHP中。
INSERT INTO targettable (x, y, z)
SELECT foo(x), bar(y), z
FROM temptable
+ 1爲LOAD DATA INFILE。如果你使用phpmyadmin(顯然是PHP),你可以很容易地比較幾種最流行的方法:SELECT INTO和LOAD DATA INFILE以及它們所有不同的參數和參數。你會什麼最適合你。最有可能的是它是負載數據INFILE – 2010-09-23 07:46:01
根據操作數量他必須做的數據,它可能是更可行的先讀取到PHP和一次插入一行。如果操作的數量很大,那麼無論如何都要在腳本中執行操作,然後他有兩個操作。 1.用LOAD DATA INFILE然後2.用UPDATE TABLE查詢。 – thomasmalt 2010-09-23 08:24:57
我只想用的fopen打開它,並使用fgetcsv讀取每個行:第一店使用LOAD DATA INFILE在臨時表中的原始數據,然後使用下面這樣的語句將數據轉換到目標表成陣列。 僞PHP如下:
mysql_connect(//connect to db);
$filehandle = fopen("/path/to/file.csv", "r");
while (($data = fgetcsv($filehandle, 1000, ",")) !== FALSE) {
// $data is an array
// do your parsing here and insert into table
}
fclose($filehandle)
- 1. 導入csv文件到MySQL數據庫使用php
- 2. 使用php mysql導入csv文件到數據庫
- 3. php導入csv文件到數據庫
- 4. 導入CSV大到mysql數據庫
- 5. 將大型csv文件導入到mysql
- 6. 用php導入csv文件到mysql數據庫
- 7. 使用php在MySQL中導入大型CSV文件
- 8. 在PHP中將CSV文件導入到Mysql數據庫中
- 9. 從大型CSV文件導入數據
- 10. 將CSV文件導入MySQL數據庫
- 11. 使用MySQL終端導入500mb csv文件到數據庫中
- 12. 使用休眠導入csv文件到MySQL數據庫
- 13. 將大Csv文件導入數據庫
- 14. 使用php導入csv文件到數據庫
- 15. csv文件導入數據庫,php
- 16. PHP將大型CSV文件導入到MySQL表中
- 17. 將數據導入csv文件到mysql
- 18. 使用PHP/MySQL導入CSV數據
- 19. 使用phpMyAdmin導入大型csv文件
- 20. 導入/導出大型mysql數據庫
- 21. 使用php將數據從數據庫導出到csv文件
- 22. mysql異常導入csv文件到mysql數據庫
- 23. 導入csv文件到oracle數據庫
- 24. 導入CSV文件導入數據庫
- 25. 導入大型CSV文件
- 26. 如何使用php將excel文件導入到mySQL數據庫
- 27. 導入大的CSV文件到MySQL
- 28. 如何快速將大型CSV文件導入數據庫
- 29. 嘗試使用phpadmin將數據從csv文件導入到mysql數據庫
- 30. 如何使用codeigniter將csv文件數據導入到mysql數據庫中?
檢查我在http://stackoverflow.com/a/22744300/2037323解決方案,包括一些比較也 – 2014-03-30 13:08:43