我在 csv 文件中有这张表
现在我有两个处理这个 csv 文件的 mysql 表,
数据 A、B、C 必须存储在其中,Table1
而数据 D、E、F、G、H 必须存储在Table2
.
我有上述格式的 csv 文件,如何将其数据上传到MYSQL
数据库?
这样就可以为不同的表从同一个文件输入。
我在 csv 文件中有这张表
现在我有两个处理这个 csv 文件的 mysql 表,
数据 A、B、C 必须存储在其中,Table1
而数据 D、E、F、G、H 必须存储在Table2
.
我有上述格式的 csv 文件,如何将其数据上传到MYSQL
数据库?
这样就可以为不同的表从同一个文件输入。
可能只能通过自定义脚本(PHP 左右)...
但是通常不难将 CSV 拆分为 2 个文件并直接使用 MySQL 的LOAD_DATA函数将它们导入单独的表中。这将比使用 phpMyAdmin 或类似脚本快得多。
试试这个效果很好,您可以根据 CSV 文件中的列数添加尽可能多的值。
<?php
$fname = $_FILES['csv_file']['name'];
$chk_ext = explode(".",$fname);
$filename = $_FILES['csv_file']['tmp_ name'];
$handle = fopen($filename, "r");
if(!$handle){
die ('Cannot open file for reading');
}
while (($data = fgetcsv($handle, 10000, ",")) !== FALSE)
{
$query = "INSERT INTO tablename (col1_csv, col2_csv)
values ('$data[0]', '$data[1]');
mysql_query($query)
or die(mysql_error());
$query1 = "INSERT INTO tablename (col1_csv, col2_csv)
values ('$data[0]', '$data[1]');
mysql_query($query1)
or die(mysql_error());
}
fclose($handle);
?>
将数据加载到 a 中temporary table
,然后拆分到two tables
.
然后drop
那个temporary table
。我在某处读到 php 可以做到这一点,但我无法在 php 代码中提供帮助。