使用单个csv文件将多个表数据导入mysql
我在csv文件中有这个表 现在我有两个mysql表处理这个csv文件 数据A、B、C必须存储在使用单个csv文件将多个表数据导入mysql,mysql,file-upload,csv,multiple-tables,Mysql,File Upload,Csv,Multiple Tables,我在csv文件中有这个表 现在我有两个mysql表处理这个csv文件 数据A、B、C必须存储在表1中,而数据D、E、F、G、H必须存储在表2中 我有上面格式化的csv文件,如何将其数据上传到MYSQL数据库 这样就可以从同一个文件为不同的表进行输入。可能只能通过自定义脚本(PHP或其他方式) 但通常不难将CSV拆分为两个文件,并使用MySQL中的函数直接导入到单独的表中。它将比使用phpMyAdmin或类似脚本快得多。将数据加载到临时表中,然后拆分到两个表中 然后放下那个临时表。我在某个地方读
表1
中,而数据D、E、F、G、H必须存储在表2
中
我有上面格式化的csv文件,如何将其数据上传到MYSQL
数据库
这样就可以从同一个文件为不同的表进行输入。可能只能通过自定义脚本(PHP或其他方式)
但通常不难将CSV拆分为两个文件,并使用MySQL中的函数直接导入到单独的表中。它将比使用phpMyAdmin或类似脚本快得多。将数据加载到
临时表中,然后拆分到两个表中
然后放下那个临时表
。我在某个地方读到,php可以做到这一点,但我在php代码中无能为力。试试这个。它工作得很好,您可以根据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);
?>
将粘贴复制到Google文档中并执行以下操作:)