SQLite 3 CSV导入到表

我使用这个作为资源让我开始 – http://www.pantz.org/software/sqlite/sqlite_commands_and_general_usage.html

目前我正在使用内置的SQLite数据库创build一个AIR程序。 我可以被认为是一个完整的noob在做SQL查询。

表列types

我有一个相当大的Excel文件(14K行),我已经导出到一个CSV文件。 它有65列不同的数据types(主要是整数,浮点数和短string,可能有几个布尔types)。 我不知道导入的正确forms,以保留列结构,也不知道每db列select的最佳数据格式。 我可以使用一些input。

表创build使用情况

是否有一个实用程序可以读取XLS文件,并根据列标题生成一个快速的查询语句,以缓解手动进行查询的痛苦? 我看到这个post,但它似乎适合于一个预先存在的CSV文件,并利用python(我也是一个noob)

预先感谢您的时间。 Ĵ

SQLite3的列types基本归结为:

  • 文本
  • NUMERIC(真实,浮动)
  • INTEGER(整数的各种长度;但INT通常会这样做)
  • BLOB(二进制对象)

通常在CSV文件中,您将遇到string(TEXT),十进制数字(FLOAT)和整数(INT)。 如果性能不重要,那么这几乎是您需要的三种列types。 ( CHAR(80)在磁盘上比TEXT小,但对于几千行,这不是一个问题。)

就把数据放到列中而言,SQLite3使用types强制转换input数据types为转换有意义的列types。 所以你所要做的只是指定正确的列types,而SQLite会以正确的方式来存储它。

例如,数字-1230.00 ,string"-1230.00"和string"-1.23e3"将全部强制存储在FLOAT列中的数字1230。

请注意,如果SQLite3不能应用有意义的types转换,它将只存储原始数据,而不会尝试转换它。 SQLite3很高兴插入"Hello World!" 进入FLOAT列。 这通常是一件坏事。

有关列types和转换的信息 ,请参阅SQLite3文档,例如:

types亲和力

为了最大限度地提高SQLite与其他数据库引擎的兼容性,SQLite在列上支持“type affinity”的概念。 列的types亲和力是存储在该列中的数据的推荐types。 这里的重要思想是这种types是推荐的,不是必需的。 任何列都可以存储任何types的数据。 只是有些列在给出select的情况下会倾向于使用一个存储类而不是另一个。 列的首选存储类称为“关联”。

Interesting Posts