gpt4 book ai didi

java - 如何从两个数据库中选择唯一数据

转载 作者:搜寻专家 更新时间:2023-10-30 20:54:42 25 4
gpt4 key购买 nike

我有两个数据库;数据库 A 和数据库 B。数据库 A 在我的计算机中,数据库 B 托管在在线服务器中。这两个数据库包含具有相同数据类型的相同表,但数据库 A 将包含比数据库 B 更多的数据。我想从数据库 A 中选择所有唯一数据。

数据库 A 表 A

Id  | FName      | LName
-----------------------------
1 | Jhone | A
2 | Alice | B
3 | Bob | C

数据库 B 表 A

Id  | FName      | LName
-----------------------------
1 | Jhone | A

我要选择:

2   | Alice      | B
3 | Bob | C

我该怎么做?

最佳答案

选项 1

好吧,执行此操作的无聊(和困难)方法是向单独的数据库发出单独的 SQL 查询,然后编写一堆 java 来比较结果。这完全可以做到,但是哎哟。

如果您需要定期执行此类操作,则应使用联合数据库或虚拟数据库工具。基本上,这些工具所做的是创建一个虚拟的“ super 数据库”,其中包含您需要在其中查询的两个数据库。因此,您可以连接到虚拟数据库并发出针对两个数据库的 SQL 查询。

一个简单的例子是UnityJDBC .如果你四处搜索,还有其他的,比如 VJDBC .

然后,您只需针对两个数据库编写一个 SQL 查询,即可为您提供所需的信息,即 going to be a left join from Database A Table A to Database B table A .

在UnityJDBC中,可能是这样的:

SELECT ID, FName, Lname
FROM Database_A.TableA, Database_B.TableB
LEFT JOIN Database_B.TableB ON Database_A.TableA.ID = Database_B.TableB.ID;

这个查询并没有那么复杂,但只有当你使用了一个虚拟数据库层时才有可能。

选项 2

使用提取、翻译和加载工具(如 Pentaho Kettle )将数据从一个提取到另一个。您可以使用 GUI 应用程序来执行此操作,也可以使用他们的开源 Java 库并将其构建到您的应用程序中。

关于java - 如何从两个数据库中选择唯一数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27637890/

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