我有一个超过400MB的CSV文件(请参阅此处http://www.doogal.co.uk/UKPostcodes.php)
但是我需要将它导入MySQL数据库,我的托管公司在导入它时遇到了一些麻烦。他们说他们可以用SQL格式真正做到这一点,以便他们可以通过SSH导入它。
有谁知道我怎么转换它?我找到了一个工具'SQLyog',但它只能在Windows上使用,我使用的是Mac
答案 0 :(得分:0)
或者如果您自己拥有本地服务器(例如WAMP),您可以在本地计算机上导入CSV,并创建一个新的.sql导出。
答案 1 :(得分:0)
我已经通过php将大型csv文件转换为mysql。可能这会对你有所帮助。 首先,我通过在线分割器拆分了我的csv文件。 然后我为每个csv文件运行这个PHP代码。
<?php
ini_set('max_execution_time', 500); // increasing the execution time for php
incase of larger csv files
$connect = mysql_connect('localhost','root','');
if (!$connect) {
die('Could not connect to MySQL: ' . mysql_error());
}
$cid =mysql_select_db('test',$connect);
$csv_file = "candidate-info_1.csv";
$csvfile = fopen($csv_file, 'r');
$theData = fgets($csvfile);
$i = 0;
while (!feof($csvfile)) {
$csv_data[] = fgets($csvfile, 1024);
$csv_array = explode(",", $csv_data[$i]);
$data=explode(';',$csv_array[0]);
$insert_csv = array();
$insert_csv['email'] = $data[0];
$insert_csv['name'] = $csv_array[1];
$insert_csv['mobile'] = $csv_array[2];
$query = "INSERT INTO csvtosql(id,email,name,mobile)
VALUES('','".$insert_csv['email']."','".$insert_csv['name']."',
'".$insert_csv['mobile']."')";
$n=mysql_query($query, $connect );
$i++;
}
fclose($csvfile);
echo "File data successfully imported to database!!";
mysql_close($connect);
?>
希望这能解决您的问题:http://iqminds.com/converted-large-csv-file-mysql-php/