从输入/文件自动创建MySQL表

时间:2012-10-20 21:19:33

标签: python mysql database database-design

  

可能重复:
  Generate table schema inspecting Excel(CSV) and import data

我正在研究一种基于输入自动创建MySQL表的工具。

例如。

输入

Y|abc|123|1.12|2012-12-20 00:00:00

输出

CREATE TABLE MyTable (
 is_enabed char(1),
 call_sign varchar(8),
 facility_id tinyint(4),
 bounds decimal(4,2)
 created_time datetime
 ) ENGINE=MyISAM DEFAULT CHARSET=latin1

我现在在Python中有一个准工作原型。在深入研究之前,我想看看是否存在类似的项目(免费,开源)。如果是这样,我的努力可能会更好地用于研究该项目,而不是不知疲倦地重新发明轮子。

2 个答案:

答案 0 :(得分:1)

我不这么认为。至少我从来没有听说过这样做的工具。话虽如此,我不知道这是不是一个好主意。我知道它面向具有很少mysql(sql)知识的用户,但是使用你的工具阅读一个好的教程可能会遇到更多问题。例如,如果他们需要时间戳而不是日期时间呢?或许他们需要更精确的小数。此外,他们可能需要区分大小写的分类...

无论如何,听起来像一个不错的项目,我确信这只是一个例子而且背后还有更多。我希望在不久的将来阅读您的工具。祝你好运。

答案 1 :(得分:1)

Generate table schema inspecting Excel(CSV) and import data

这个问题(以及提及xlrd的最高回复)已经讨论过这个问题。

事实上,MySQL显然内置了这样的功能:

https://dev.mysql.com/doc/refman/5.0/en/procedure-analyse.html

  

ANALYZE()检查查询的结果,并返回建议每列的最佳数据类型的结果分析,这可能有助于减少表格大小。