我以CSV格式接收原始数据,并将其上传到MySQL数据库中的表格(我的网站运行在其上)。我想比较一个较新的CSV与我从较旧的CSV上传的数据,我想看到两者之间的差异(基本上我想用表格区分原始数据)。
我有PHP,MySQL和我的桌面应用程序(例如Excel)供我使用。最好的方法是什么?我可以想到的可能方式:
答案 0 :(得分:1)
为什么不使用where子句来仅提取新数据?例如
select * from table where dateadded > '1-1-2011 18:18'
这取决于您的表具有日期添加列并填充数据的日期和时间。
答案 1 :(得分:0)
diff <(mysqldump test old_csv --skip-extended-insert) <(mysqldump test new_csv --skip-extended-insert) --side-by-side --suppress-common-lines --width=690 | more
答案 2 :(得分:0)
您可以使用以下方法
1)数据库表比较 - 创建表的副本,然后比较数据。
您可以使用专有工具轻松完成(例如:EMS Data comparer)。
您还可以编写一些简单的查询来实现此目的(例如:从table_copy中选择id而不是(在表中选择id))
2)使用像winmerge这样的文件比较器 用精确的方法转储这两个表,并将它们进行比较。
我根据我的数据大小使用这两种方法。对于较小的数据,第二种方法很好。