我使用此作为资源让我入门 - http://www.pantz.org/software/sqlite/sqlite_commands_and_general_usage.html
目前我正在创建一个使用内置SQLite数据库的AIR程序。在进行SQL查询时,我可以被认为是一个完整的菜鸟。
我有一个相当大的excel文件(14K行),我已导出到CSV文件。它有65列不同的数据类型(大多数是整数,浮点数和短字符串,可能有几个bool)。我不知道正确的导入形式,以便保留列结构,也不知道每个db列选择的最佳数据格式。我可以使用一些输入。
是否有可以读取XLS文件且基于列标题的util,生成快速查询语句以减轻手动进行查询的痛苦?我看到这篇文章,但似乎面向一个预先存在的CSV文件,并使用python(我也是一个菜鸟)
提前感谢您的时间。 Ĵ
答案 0 :(得分:2)
SQLite3的列类型基本归结为:
通常在CSV文件中,您将遇到字符串(TEXT),十进制数字(FLOAT)和整数(INT)。如果性能不是很关键,那么这些只是您需要的三种列类型。 (CHAR(80)
在磁盘上比TEXT
小,但对于几千行而言,这不是问题。)
就将数据放入列而言,SQLite3使用类型强制将输入数据类型转换为转换有意义的列类型。所以你要做的就是指定正确的列类型,SQLite将以正确的方式存储它。
例如,数字-1230.00
,字符串"-1230.00"
和字符串"-1.23e3"
在存储到FLOAT
列时都会强制转换为数字1230。
请注意,如果SQLite3无法应用有意义的类型转换,它只会存储原始数据而不会尝试转换它。 SQLite3非常乐意将"Hello World!"
插入FLOAT
列。这通常是一件坏事。
请参阅SQLite3 documentation on column types and conversion了解宝石,例如:
类型亲和力
为了最大化SQLite与其他数据库之间的兼容性 SQLite支持列上的“类型亲和力”概念。 列的类型亲缘关系是存储数据的推荐类型 在那一栏。这里的重要思想是类型 推荐,不是必需的。任何列仍然可以存储任何类型的 数据。只是根据选择,某些列更愿意 使用一个存储类而不是另一个。 a的首选存储类 列被称为“亲和力”。