【问题标题】:Auto-filling a database.(Android/Newbie)自动填充数据库。(Android/新手)
【发布时间】:2013-06-04 14:13:27
【问题描述】:

有没有办法从文本文件创建数据库?我想在应用程序中包含一个预先填充的数据库,但找不到合适的词来搜索我需要的内容。我希望为文本文件(名称列表)中的每个单独的单词分配它自己的 ID 并存储在数据库中。我希望所有这些都完成,以便数据库已经设置好并准备好在用户下载应用程序时使用。我知道您可以将 .db 存储在 assets 文件夹中,但让我感到困惑的是 .db 的实际生成。

【问题讨论】:

    标签: android performance sqlite


    【解决方案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。手动填充表格很容易,您也可以直接执行查询(工具 => 打开查询编辑器)。如果要从那里导入,首先创建要填充的表,然后突出显示它并选择 Tables => 将数据导入表

    【讨论】:

    • 抱歉(非常)迟到的回复。我正在查看我的旧问题并找到了这个!
    【解决方案2】:

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

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

    或者,在启动时,您从头开始创建数据库,而不是您预先创建的数据库文件(使用您喜欢的任何工具)一个带有 sql 语句的文件,然后您可以读取并针对新创建的数据库执行该文件。

    我以两种方式都这样做了,两种方式都有效,您必须尝试在您的设置中麻烦更少/更快。

    【讨论】:

    • 所以你的意思是我应该写一个应用程序来为我做这件事?这有点像我试图避免的。我是数据库(不仅仅是 SQLite)的绝对新手,并且在处理数据管理之前试图搞乱数据操作。
    猜你喜欢
    • 2014-07-30
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 2019-07-01
    • 1970-01-01
    • 2022-08-18
    • 2021-12-13
    • 2011-05-10
    相关资源
    最近更新 更多