【发布时间】:2014-01-25 19:40:46
【问题描述】:
我对 MySQL 很陌生。我今天才开始学习 MySQL。
我被分配了一个任务。
在此任务中,我需要在 excel 中创建一个示例 csv 文件,然后将其上传到 MySQL 服务器,然后进行一些更改,然后将其作为 csv 文件写回硬盘上。
我在互联网上查找了许多可用链接,但它们太复杂而无法理解。
假设我是初学者并且我只知道如何在 MySQL 上创建连接,有人可以用简单的话向我解释一下吗?
谢谢。
【问题讨论】:
我对 MySQL 很陌生。我今天才开始学习 MySQL。
我被分配了一个任务。
在此任务中,我需要在 excel 中创建一个示例 csv 文件,然后将其上传到 MySQL 服务器,然后进行一些更改,然后将其作为 csv 文件写回硬盘上。
我在互联网上查找了许多可用链接,但它们太复杂而无法理解。
假设我是初学者并且我只知道如何在 MySQL 上创建连接,有人可以用简单的话向我解释一下吗?
谢谢。
【问题讨论】:
试试这个,
<?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);
?>
【讨论】:
我建议通过 Microsoft Access 上传数据。 Access 就像微软办公套件的 Excel 部分一样。您可以通过向导轻松导入 CSV/Excel 文件。然后使用数据库向导将所有内容上传到 MySQL。
顺便说一句,您可能可以对 MS Access 中的数据进行相同的更改。它运行一些改编相同的 SQL 命令,你也可以使用 GUI。我会更多地推荐 MySQL 用于在线目的,而不是用于离线可以做的事情。公平地说,使用命令行可能不是每个人最容易进入数据库的地方。 MySQL 有更多使用友好的命令行替代方案,例如 mysql workbench 和 phpmyadmin。您可以使用它们直接导入 MySQL,但我没有使用该选项的经验。
祝你任务顺利。
【讨论】:
你应该把你的代码放在你尝试过的地方,即使你可以在发布问题之前通过谷歌搜索。建议检查链接 - http://www.php-guru.in/2013/import-csv-data-to-mysql-using-php/
【讨论】: