1
A
回答
1
1
MySQL有一個功能LOAD DATA INFILE,它允許它直接在單個SQL查詢中導入CSV文件,而不需要通過PHP程序在循環中處理它。
簡單的例子:
<?php
$query = <<<eof
LOAD DATA INFILE '$fileName'
INTO TABLE tableName
FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(field1,field2,field3,etc)
eof;
$db->query($query);
?>
就這麼簡單。
沒有循環,沒有大驚小怪。而且比在PHP中解析它要快得多。
MySQL手冊頁面在這裏:
如:http://dev.mysql.com/doc/refman/5.1/en/load-data.html
希望幫助 author
+7
請給信貸的作者,如果你通過Word中複製一個答案字[使用PHP/MySQL的導入CSV數據]:[使用PHP/MySQL導入CSV數據](http://stackoverflow.com/q/11448307/1456376) – insertusernamehere
0
如果您正在尋找導入CSV文件到MySQL最簡單的方法,然後用下面去
LOAD DATA LOCAL INFILE 'import.csv' INTO TABLE from_csv FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (si, distro, available);
更多閱讀:
0
見下文
csv2sql("pre_employee","ch_data.csv");
function csv2sql($table_name,$csvname)
{
$fl=fopen($csvname,r);
//if(!file_exists('a.txt'))
//{
$flw=fopen("a.txt",'w');
//}
$sql='';
$i=2;
//echo $csvname.$data=fgetcsv($fl,1000,",");die();
while(($data=fgetcsv($fl,1000,","))!=false)
{
$sql.="insert into ".$table_name." values('".$data[0]."','".$data[2]."','".$data[3]."');".chr(13);
$i++;
}
//echo $sql;
fwrite($flw,$sql);
fclose($flw);
fclose($fl);
}
A.TXT代碼的文件名保存您的SQL。也不要將這個txt文件導入你的mysql數據庫。
1
試試看。它使用一個函數將文件的行讀入一個字符串數組,然後循環遍歷每行並將列值存儲到一個表中。顯然你需要插入你的數據庫連接設置和正確的查詢。
function loadData()
{
$lines = readInputFromFile("myCSV.csv");
for ($i = 0; $i < count($lines); $i++)
(
$columns = explode(",", $lines[$i]);
$conn = new PDO("mysql:host=YOUR_HOST;port=YOUR_PORT;dbname=YOUR_DBNAME", "UserName", "Password");
$query = "INSERT INTO MYTABLE VALUES ('".$columns[0]."', '".$columns[1]."', '".$columns[2]."')";
$stmt = $conn->prepare($query);
$stmt->execute();
)
}
function readInputFromFile($file)
{
$fh = fopen($file, 'r');
while (!feof($fh))
{
$ln = fgets($fh);
$parts[] = $ln;
}
fclose($fh);
return $parts;
}
相關問題
- 1. 通過Spark加載csv文件到HBase
- 2. CSV文件導入到MySQL通過phpmyadmin
- 3. 導入到MySQL通過.csv文件
- 4. 將CSV文件加載到MySQL Workbench中
- 5. 通過php將csv文件導入到mysql中
- 6. 從CSV文件導入數據到Mysql表通過PHP
- 7. 通過PHP將CSV文件上傳到MySql表格
- 8. 通過curl將CSV文件加載到Azure SQL Warehouse
- 9. 通過文本將數據加載到mySQL文件
- 10. 導入CSV到MySQL - 通過
- 11. CSV通過ASP.NET到MySQL
- 12. 在MySQL DB中加載CSV文件
- 13. 通過PHP下載文件
- 14. 通過python下載csv文件(url)
- 15. 可下載的CSV文件通過Ajax
- 16. 通過PHP導出到CSV
- 17. 通過PHP編輯csv文件
- 18. PHP通過CSV文件搜索
- 19. 通過遍歷CSV文件在PHP
- 20. 加載csv文件
- 21. 通過SSH將數據從文件加載到Mysql表中
- 22. 通過http加載文件
- 23. 通過javascript,PHP和select下拉將文件加載到CKEditor textarea
- 24. 如何通過jQuery將PHP文件加載到DIV中?
- 25. MySQL - 通過加載的配置文件創建my.cnf文件
- 26. 使用PHP將數據從MySQL下載到csv文件
- 27. 通過MySQL創建CSV文件 - 是否強加任何限制?
- 28. MySQL PHP CSV文件導出
- 29. 加載文件到mysql
- 30. Swift 3.0 - 無法通過PHP發送「加」(+)到mySQL通過PHP
可能重複:(http://stackoverflow.com/q/11448307/1456376) – insertusernamehere