如何将csv文件导入MySQL服务器?

时间:2014-01-25 19:40:47

标签: mysql import export

我是MySQL的新手。我今天才开始学习MySQL。

我接到了一项任务。

在此任务中,我需要在excel中创建一个示例csv文件,然后将其上传到MySQL服务器上,然后进行一些更改,然后将其作为csv文件写回硬盘驱动器上。

我查了很多可在互联网上获得的链接,但它们太复杂了,无法理解。

有人可以用简单的语言向我解释,假设我是初学者而且我只知道如何在MySQL上创建连接。

谢谢。

3 个答案:

答案 0 :(得分:0)

试试这个,

<?php
$csvFile = 'test_data.csv';
$csv = readCSVFile($csvFile);
if(!empty($csv))
{
    foreach($csv as $file)
    {
        //inserting into database
        $query_insert = "insert into csv_data_upload set
            name    =   '".$file[0]."',
            value   =   '".$file[1]."'";
        echo $query_insert;
        $insert = mysql_query($query_insert);
    }
} else {
    echo 'Csv is empty';
}
//Reading CSV File
function readCSVFile($csvFile)
{
    $file_handle = fopen($csvFile, 'r');
    while (!feof($file_handle) )
    {
        $line_of_text[] = fgetcsv($file_handle, 1024);
    }
    fclose($file_handle);
    return $line_of_text;
}
?>

要编写CSV文件,请尝试使用

<?php
$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);

$fp = fopen('file.csv', 'w');
foreach ($list as $fields)
{
    fputcsv($fp, $fields);
}
fclose($fp);
?>

答案 1 :(得分:0)

我建议通过Microsoft Access上传数据。 Access就像微软办公套件中的Excel一样。您可以通过wizzard轻松导入CSV / Excel文件。然后使用数据库wizzard将所有内容上传到MySQL。

顺便说一句,您可能会对MS Access中的数据进行相同的更改。它运行一些相同的SQL命令,你也可以使用GUI。我建议更多的MySQL用于在线目的,而不是你可以离线的东西。让我们公平地使用命令行可能不是每个人最容易进入数据库的地方。有更多使用MySQL的友好命令行替代品,例如mysql workbench和phpmyadmin。您可以使用它们直接导入MySQL,但我没有使用该选项的经验。

祝你好运。

答案 2 :(得分:0)

你应该把你的代码放在你尝试过的地方,即使你可以在发布问题之前搜索谷歌。建议的检查链接 - http://www.php-guru.in/2013/import-csv-data-to-mysql-using-php/