对于应该在某种类型的db文件上运行的Java程序,什么样的数据库是可取的。。。?

对于应该在某种类型的db文件上运行的Java程序,什么样的数据库是可取的。。。?,java,mysql,mongodb,sqlite,database,Java,Mysql,Mongodb,Sqlite,Database,我的5个主要目标是: 导出到文件,最好包括csv 从文件导入 对数据库文件执行操作,而不是对内部数据库或位于计算机上固定位置的数据库执行操作 向任何文件添加属性和表一个大表,每个文件有一个条目,每个文件有几个表[包括向表中动态添加列] 在任何系统上都能很好地运行,无需太多麻烦 我不确定有什么数据库可以让我在Java中使用DB,而不必直接安装数据库系统。然而,这也是我第一次使用数据库来组织文件,而不是自制的!所以我可能完全偏离了底线。 是否有一个数据库解决方案可以很好地解决上述所有问题,而且学习起

我的5个主要目标是:

导出到文件,最好包括csv 从文件导入 对数据库文件执行操作,而不是对内部数据库或位于计算机上固定位置的数据库执行操作 向任何文件添加属性和表一个大表,每个文件有一个条目,每个文件有几个表[包括向表中动态添加列] 在任何系统上都能很好地运行,无需太多麻烦 我不确定有什么数据库可以让我在Java中使用DB,而不必直接安装数据库系统。然而,这也是我第一次使用数据库来组织文件,而不是自制的!所以我可能完全偏离了底线。 是否有一个数据库解决方案可以很好地解决上述所有问题,而且学习起来很快?MySQL或SQLite是不错的选择吗?我希望避免与密码和东西弄乱,并希望用户能够作为一个单一的文件交换数据库没有任何麻烦


谢谢

对于MySql,您需要进行安装。若应用程序不需要任何大型数据库,那个么考虑到您希望将数据库作为单个文件进行交换,SQLLite看起来是一个更好的选择

虽然我发现MySql有很好的文档记录,它的导入/导出DB操作只是一行命令,但如果您已经熟悉SQL,它不应该是任何真正的学习曲线。

我建议使用纯Java数据库。它们通常是轻量级的、快速的,并且因为它们没有任何本机代码依赖项,所以构建和部署应用程序会容易得多

它们通常以嵌入式模式使用,这带来了很多好处:您只需将正确的.jar文件导入应用程序,然后应用程序就可以作为数据库服务器使用,即应用程序将直接访问磁盘上的数据库文件,没有单独的服务器进程可供配置和管理

要查看的内容可能包括:

H2- 德比- SQLJet-SQLite的纯Java版本- 另见:


SQLite。完成。这个注释足够长了。SQLite对于Java来说不是一个好的选择,因为它包含本机代码依赖项。最好使用纯Java数据库,如H2-Mysql或postgres,这两种都是很好的开源选择。Mysql更受欢迎。