2013-06-04 121 views
1

有没有办法从文本文件创建数据库?我想包含一个预先填充的数据库与应用程序,但无法找到正确的单词来搜索我需要的东西。我正在寻找文本文件(名称列表)中的每个单独的词被分配它自己的ID并存储在数据库中。我希望所有这些都在我的最后完成,以便在用户下载应用程序时,数据库已经设置并准备就绪。我知道你可以在资源文件夹中存储一个.db文件,但它是实际生成的.db文件,让我难以忍受。自动填充数据库。(Android /新手)

回答

1

如果您的文本文件格式正确(例如CSV),则可以通过sqlite3可执行文件导入。 See here

sqlite> create table myTable (id integer, col_a integer, col_b integer, col_c text); 
sqlite> .separator "," 
sqlite> .import myFile.csv myTable 

如果你想通过GUI做到这一点,我建议SQLiteStudio。手工填写表格非常简单,您也可以直接执行查询(工具 =>打开查询编辑器)。如果要从那里导入,首先创建要填充的表格,然后突出显示它并选择表格 =>将数据导入表格

+0

对不起,(非常)迟到的答复。我正在浏览我的旧问题,并发现了这一点! – Aezur

1

从您的数据中生成一对INSERT语句,针对您选择的sqlite工具执行,保存数据库文件,完成。或者用你的应用程序发布sql语句以便插入。两种方式都有效。

因此,您使用一些工具(如SQLite Manager,我个人使用Pentaho Data Integration/Kettle)在本地创建数据库文件。然后,将该文件放在/ assets文件夹中,并将其与应用程序一起发货。在第一次启动时,您将文件从/ assets复制到db文件夹(有很多关于如何执行此操作的教程)。

或者,在启动时,您可以从头开始创建数据库,而不是使用sql语句预先创建(使用任何您感觉舒适的工具)的数据库文件,然后您可以读取并执行新创建的数据库。

我做到了这两种方式,并且两种方式都能正常工作,所以您必须尝试一下在您的设置中哪种方式更少麻烦/更快。

+0

所以你说的是我应该写一个应用程序为我做?这是我试图避免的。我是一个拥有数据库(不仅仅是SQLite)的绝对新手,并且在处理数据管理之前试图搞乱数据操作。 – Aezur