我已经看了很多程序,但还没有找到解决方案 -
我在mySQL中有一个数据库,我想用Excel电子表格填充数据。
数据库有许多字段,这些字段设置了数据类型,有些字段是默认的NULL。 我设法转换的任何东西都将NULL字段留空,但不是NULL。
我使用的cPanel只允许使用CSV或SQL。 任何想法从哪里开始?
----解答:----
到目前为止所有的好答案,但在研究更多时,我发现了这个YouTube视频:http://www.youtube.com/watch?v=JDBYU9f1p-I
之前我没有听说过,但是我下载了Talend Open Studio,虽然可用的功能数量似乎有点超出了我的需要,但这是将Excel文件移动到MySql的最直接,最准确的方法我遇到了。
答案 0 :(得分:2)
我的策略在某些情况下只涉及少量行(<10K)和几个表(&lt; 10),就是使用excel公式从excel值创建sql语句:
=concat( "Inser into your table (f1, f2) values ("; B1; ", ... )
这只是一次导入和开发人员的方式。如果您需要在计划时间内执行此导入,或者是导入数据的用户,您应该考虑其他建议。
当然,您的公式可以包含空值:
... iif( lengh( B1 ) = 0; NULL; B1 ...
答案 1 :(得分:1)
如果你希望table1的column1中的空字段在数据库中映射为NULL,那么显而易见的选择就是像你一样导入文件然后执行
UPDATE table1 SET column1=NULL where column1='';
如果我们谈论许多表格的许多列,可能会很乏味,但很简单并且可以在不创建自己的解决方案的情况下工作。
答案 2 :(得分:1)
如您所述,cPanel允许您导入.csv
个文件。幸运的是,您可以使用Microsoft Excel将电子表格导出为.csv
。
以下是Microsoft Office网站上文章Import or export text (.txt or .csv) files的摘录。
您可以使用另存为命令将Excel工作表转换为文本文件。
1.单击 Microsoft Office按钮,然后单击另存为。
保存为对话框。
2.在另存为类型框中,选择工作表的文本文件格式。
例如,点击文字(制表符分隔)或 CSV(逗号分隔)。
答案 3 :(得分:0)
到目前为止所有的好答案,但在研究更多时,我发现了这个YouTube视频: http://www.youtube.com/watch?v=JDBYU9f1p-I
之前我没有听说过它,但是我下载了Talend Open Studio,虽然可用的功能数量似乎有点超出了我的需求但它是最直接和最准确的方式将Excel文件移到我遇到的MySql。
答案 4 :(得分:0)
我之前使用过这个网站来创建插入语句。可以轻松地从Excel复制和粘贴。仔细阅读说明书。
“你必须遵循的格式如下: 第一行只有表名。 第2行是制表符分隔的字段名称列表。 第3行是制表符分隔的数据行。“