【发布时间】:2011-04-13 09:22:46
【问题描述】:
我有一个大约 5000 行的 excel 文件要插入到我的一个 mysql 数据库表中,任何人都可以提供快速而肮脏的解决方案吗?谢谢
【问题讨论】:
我有一个大约 5000 行的 excel 文件要插入到我的一个 mysql 数据库表中,任何人都可以提供快速而肮脏的解决方案吗?谢谢
【问题讨论】:
除非你有一些额外的工具,否则没有快速的方法。
您可以编写一个 excel 宏并通过 ODBC 传输数据。
您可以将其导出为 CSV,然后使用 PHPMyAdmin 导入
您可以导出 CSV,然后编写一个 awk 脚本将 csv 数据转换为一组插入语句
您可以使用(在此处插入选择的语言)
您有 ODBC 链接吗?你有任何编程语言吗? 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 文件导出为 CSV 文件,然后使用 phpMyAdmin 将其导入 MySQL 数据库。
【讨论】:
另存为 CSV;使用图形化 mySQL 客户端(如 HeidiSQL)的“导入文本文件”功能进行导入。
【讨论】:
又快又脏:
在 Excel 中放置一个计算列以生成“插入”语句。然后 COPY+PASTE 所有语句到 MySQL 命令解释器中。
你的单元格应该有这样的公式:
=CONCATENATE("insert into your table (col1, col2) values (", A1, ", ", B1, ");")
然后将公式复制到所有行上,您将获得脚本。
其他又快又脏的:
使用 ACCESS 打开您的 Excel 文件,然后使用“导出到 ODBC”功能将您的数据放入 MySQL。这有点复杂,因为您必须设置 ODBC 驱动程序和连接,但如果您打算定期执行此操作,它可能是一个更好的选择。
【讨论】: