在mysql数据库中导入excel数据

在mysql数据库中导入excel数据,mysql,excel,Mysql,Excel,我有一个excel文件,大约有5000行要插入我的一个mysql数据库表中,有人能给出快速而肮脏的解决方案吗?谢谢,又快又脏: 将计算列放入Excel以生成“插入”语句。然后将所有句子复制粘贴到MySQL命令解释器中 您的单元格应具有如下公式: =CONCATENATE("insert into your table (col1, col2) values (", A1, ", ", B1, ");") 然后在所有行上复制公式,就可以得到脚本了 其他快速和肮脏: 使用ACCESS打开Excel

我有一个excel文件,大约有5000行要插入我的一个mysql数据库表中,有人能给出快速而肮脏的解决方案吗?谢谢,又快又脏:

将计算列放入Excel以生成“插入”语句。然后将所有句子复制粘贴到MySQL命令解释器中

您的单元格应具有如下公式:

=CONCATENATE("insert into your table (col1, col2) values (", A1, ", ", B1, ");")
然后在所有行上复制公式,就可以得到脚本了

其他快速和肮脏:

使用ACCESS打开Excel文件,然后使用“导出到ODBC”功能将数据放入MySQL。这有点复杂,因为您必须设置ODBC驱动程序和连接,但如果您计划定期这样做,它可能是一个更好的选择。

另存为CSV;使用要导入的图形mySQL客户端的“导入文本文件”功能。

请查看:


您可以将Excel文件导出为CSV文件,然后使用phpMyAdmin将其导入MySQL数据库。

我以前通过将文件导出为CSV来完成此操作。在MySQL中创建表,在PHP中逐行读取CSV,并使用explode构建查询

$file = fopen("myfile.csv", "r");
$sql = "INSERT INTO table(field1, field2, field3...";
while(!feof($file))
  {
      $fields = explode(',', fgets($file));
      $sql .= "VALUES("
      foreach($fields as $field)
      {
         $sql .= "$field, ";
      }
      $sql = substr($sql, 0, -2);
      $sql .= "), ";
  }
  $sql = substr($sql, 0, -2);
 fclose($file);
  mysql_query($sql);

除非你有一些额外的工具,否则没有捷径可走

您可以编写excel宏并通过ODBC传输数据

您可以将其导出为CSV,然后使用PHPMyAdmin导入

您可以导出CSV,然后编写awk脚本将CSV数据转换为一组insert语句

您可以使用(在此处插入所选语言)


你有ODBC链接吗?你有编程语言吗?PHPMyAdmin?其他一些MySQL工具?

您可以很好地控制这种方法(包括处理自动字段)。很好的一个!有没有可能通过指定一个开始和结束列来自动生成列语句,而不需要太多麻烦?@Pekka问得好。不幸的是,我不知道答案。我的猜测可能是肯定的。是的,这可能是有可能的,但只需要非常非常大量的代码。我尝试过这样的解决方案,但无法导入大于255个字符的文本。这似乎与或非常相似