将数据与数据库中的表进行比较
我接收 CSV 格式的原始数据,并将其上传到 MySQL 数据库中的表(我的网站在该数据库上运行)。我想将较新的 CSV 与从较旧的 CSV 上传的数据进行比较,并且我想查看两者之间的差异(基本上我想将原始数据与表格进行比较)。
我有 PHP、MySQL 和我的桌面应用程序(例如 Excel)可供我使用。解决这个问题的最佳方法是什么?我能想到的可能方法:
- 将较新的数据插入到 Table_Copy,然后以某种方式比较 mysql中有两个表。
- 以某种方式查询数据库 与没有的原始数据比较 必须上传它。
- 从下载数据 数据库转换为原始 CSV 格式,以及 然后使用桌面程序比较两个原始 CSV
I receive raw data in CSVs, and upload it to a table in a MySQL database (upon which my website functions). I want to compare a newer CSV to the data I uploaded from an older CSV, and I want to see the differences between the two (basically I want to diff the raw data with the table).
I have PHP, MySQL, and my desktop apps (e.g. Excel) at my disposal. What's the best way to go about this? Possible ways I can think of:
- Inserting the newer data into a
Table_Copy, then somehow diffing the
two tables in mysql. - Somehow querying the database in
comparison to the rawdata without
having to upload it. - Downloading the data from the
database into raw CSV format, and
then comparing the two raw CSV's using a desktop program
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
为什么不使用 where 子句只提取新数据?例如,
这取决于您的表具有添加日期列并用添加数据的日期和时间填充该列。
Why don't you use the where clause to pull only the data that is new? For instance
This depends on your table having a dateadded column and populating that with the date and time the data is added.
您可以使用以下方法
1) 数据库表比较 - 创建表的副本,然后比较数据。
您可以使用专有工具轻松完成此操作(例如:EMS 数据比较器)。
您还可以编写一些简单的查询来实现此目的(例如: select id from table_copy not in (select id in table) )
2)使用文件比较器,例如 winmerge
用精确的方法转储两个表,然后进行比较。
我根据数据大小使用这两种方法。对于较小的数据,第二种方法很好。
You can use the following approaches
1) Database Table comparison - create a copy of the table and then compare data.
You can use propriety tools to do it easily (Eg : EMS Data comparer).
You can also write some simple queries to achieve this (Eg : select id from table_copy not in (select id in table) )
2) Use a file comparer like winmerge
Take the dump of both the tables with exact method, and them compare it.
I use both the approaches depending on my data size. For smaller data 2nd approach is good.