0

我已经查看了许多程序,但还没有找到解决方案-

我在 mySQL 中有一个数据库,我想用 Excel 电子表格中的数据填充它。

数据库有许多设置数据类型的字段,其中一些字段默认为 NULL。我设法转换的任何内容都将 NULL 字段留空,但不是 NULL。

我使用的 cPanel 只允许 CSV 或 SQL。有什么想法可以从这里开始吗?

- - 回答: - -

到目前为止所有好的答案,但在研究更多内容时,我发现了这个 YouTube 视频:http ://www.youtube.com/watch?v=JDBYU9f1p-I

我以前没听说过,但我下载了 Talend Open Studio,虽然可用功能的数量似乎有点超出我的需要,但这是将 Excel 文件移动到 MySql 的最直接、最准确的方法我来了穿过。

4

5 回答 5

2

在某些只涉及几行(<10K)和几张表(<10)的情况下,我的策略是通过excel公式从excel值制作sql语句:

=concat( "Inser into your table (f1, f2) values ("; B1; ", ... )

这只是一次导入和开发人员的一种方式。如果您需要在计划时间内进行此导入或者是导入数据的用户,您应该考虑其他建议。

当然,您的公式可以包含空值:

... iif( lengh( B1 ) = 0; NULL; B1 ...
于 2012-01-29T18:47:45.277 回答
1

正如您所提到的,cPanel 允许您导入.csv文件。.csv幸运的是,您可以像使用 Microsoft Excel一样导出电子表格。

这是从 Microsoft Office 网站导入或导出文本(.txt 或 .csv)文件一文的摘录。

您可以使用“另存为”命令将 Excel 工作表转换为文本文件。

  1. 单击Microsoft Office 按钮,然后单击另存为

出现另存为对话框

  2. 在保存类型框中,选择工作表的文本文件格式。

例如,单击文本(制表符分隔)CSV(逗号分隔)

于 2012-01-29T18:58:08.670 回答
1

如果您希望 table1 的 column1 中的空字段映射到数据库中的 NULL,显而易见的选择是像您一样简单地导入文件,然后执行

UPDATE table1 SET column1=NULL where column1='';

如果我们正在谈论许多表的许多列,可能会很乏味,但简单且无需创建自己的解决方案即可工作。

于 2012-01-29T18:47:45.297 回答
0

到目前为止所有好的答案,但在研究更多内容时,我发现了这个 YouTube 视频: http ://www.youtube.com/watch?v=JDBYU9f1p-I

我以前没听说过,但我下载了 Talend Open Studio,虽然可用功能的数量似乎有点超出我的需要,但这是将 Excel 文件移动到 MySql 的最直接、最准确的方法我来了穿过。

于 2012-01-30T01:30:09.767 回答
0

我之前使用过这个网站来创建插入语句。使从 Excel 复制和粘贴变得容易。仔细阅读说明。

“您必须遵循的格式是:第一行只有表名。第 2 行是制表符分隔的字段名称列表。第 3 行以上是制表符分隔的数据行。”

http://tools.perceptus.ca/text-wiz.php?ops=7

于 2012-01-30T01:39:04.193 回答