java - 如何检查 CSV 记录是否与 SQLite 中的记录相同?

标签 java sql sqlite csv

我有 1000 万的 CSV 文件。记录,我需要检查文件中的所有值是否与 SQL DB 中的相同。我不需要返回 true 或 false,我还需要知道有多少不匹配(如果有的话)以及哪些可能通过某些选择而不相同。

我的问题是什么是最快的方法,到目前为止可能是手动完成的(正如我所看到的,有一个将 csv 导入到 sqlite 的选项),但稍后我需要以编程方式完成。

我应该从 csv 创建新的数据库,然后用其他数据库检查它吗?

我想这应该通过一些内部/外部连接等来完成。有什么想法吗?

我有一个非常简单的想法,但它不起作用:

select Email_Address from eloqua_export where Email_Address != (select Email_Address   
from eloqua_export_duplicate)

它返回我所有的电子邮件地址,即使它们在两个表中相同......

最佳答案

!= 比较单个值,因此只需要子查询的第一行。

要与集合中的所有值进行比较,请使用 IN:

select Email_Address
from eloqua_export
where Email_Address not in (select Email_Address
                            from eloqua_export_duplicate);
select Email_Address
from eloqua_export_duplicate
where Email_Address not in (select Email_Address
                            from eloqua_export);

关于java - 如何检查 CSV 记录是否与 SQLite 中的记录相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24990108/

相关文章:

java - 只有创建 View 层次结构的原始线程才能接触其 View 。在安卓上

java - 我如何从 BroadcastReceiver Activity 中获取值(value)到主要 Activity

java 。如何在每个第 n 个空格上拆分具有多个空格的字符串?

Android SQLite 如何更改自增主键?

php - 如何扩展 Adminer 以支持带登录的 SQLite 数据库?

java - 在软键盘 android 上收听每个按键事件

sql - 从表中选择不在列表SQL中的值

sql - 在 Oracle 中执行查询时的 ORDER BY 性能

sql - 根据行号分区更新bigquery值

java - 如何在 Java 中使用带问号的 strftime 函数