gpt4 book ai didi

database - 从 CSV 文件填充 Android 数据库?

转载 作者:IT老高 更新时间:2023-10-28 21:58:57 25 4
gpt4 key购买 nike

是否可以获取存储在 res/raw 资源目录中的 csv 文件并使用它来填充 sqlite3 数据库中的表?

我的想法是,如果有一种方法可以将整个文件批量导入到表中,那么这将比遍历文件中的每一行并执行单独的插入语句更干净、更快捷...

我发现有一个 sqlite 导入命令允许这样做:How to import load a .sql or .csv file into SQLite?

...但我无法在我的 Android 应用程序中应用这些语句。我的第一个想法是尝试以下方法......但没有运气:

db.execSQL("CREATE TABLE " + TABLE_NAME + "(id INTEGER PRIMARY KEY, name TEXT)");
db.execSQL(".mode csv");
db.execSQL(".import res/raw/MyFile.csv " + TABLE_NAME);

这可能吗?

我应该尝试不同的方法来填充我的数据库吗?

更新:我将 Josef 的回复标记为答案(使用事务进行批量插入),因为它可以正常工作并根据我的标题直接回答我的问题(感谢 Josef)。但是,我仍在寻找一种方法,使用 import 语句在 Android 应用程序中从 csv 文件批量插入到 sqlite3 表中。如果您知道该怎么做,请回复。

感谢您的回答!

最佳答案

如果您想将静态数据与您的应用程序打包在一起,我建议您在开发时准备数据库(使用您喜欢的任何 UI 或 csv-import 命令)并将 sqlite 文件传送到 assets 文件夹中。然后,当您的应用程序首次运行时,您可以简单地将整个 sqlite 文件复制到设备上。 These posts带您了解这个想法,这很可能是设置数据库的最快方法(文件复制速度)。

如果由于某种原因您确实需要在运行时插入大量数据,我建议您查看 bulk insert using transactions 的方法加快速度。

关于database - 从 CSV 文件填充 Android 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2887119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com