将数据与数据库中的表进行比较

发布于 2024-10-09 23:28:26 字数 349 浏览 2 评论 0原文

我接收 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

弃爱 2024-10-16 23:28:26

为什么不使用 where 子句只提取新数据?例如,

select * from table where dateadded > '1-1-2011 18:18'

这取决于您的表具有添加日期列并用添加数据的日期和时间填充该列。

Why don't you use the where clause to pull only the data that is new? For instance

select * from table where dateadded > '1-1-2011 18:18'

This depends on your table having a dateadded column and populating that with the date and time the data is added.

眼眸里的快感 2024-10-16 23:28:26
diff <(mysqldump test old_csv --skip-extended-insert) <(mysqldump test new_csv --skip-extended-insert) --side-by-side --suppress-common-lines --width=690 | more 
diff <(mysqldump test old_csv --skip-extended-insert) <(mysqldump test new_csv --skip-extended-insert) --side-by-side --suppress-common-lines --width=690 | more 
缪败 2024-10-16 23:28:26

您可以使用以下方法

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文