簡體   English   中英

將數據與數據庫中的表進行比較

[英]Comparing data to table in the database

我以CSV格式接收原始數據,然后將其上傳到MySQL數據庫中的一個表(我的網站可以通過該表運行)。 我想將較新的CSV與我從較舊的CSV上傳的數據進行比較,並且我想查看兩者之間的差異(基本上我想將原始數據與表格進行比較)。

我可以使用PHP,MySQL和桌面應用程序(例如Excel)。 最好的方法是什么? 我想到的可能方法:

  • 將較新的數據插入到Table_Copy中,然后以某種方式在mysql中比較兩個表。
  • 以某種方式查詢與原始數據相比的數據庫,而不必上傳數據庫。
  • 將數據從數據庫下載為原始CSV格式,然后使用桌面程序比較兩個原始CSV

為什么不使用where子句僅提取新數據? 例如

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

這取決於您的表上是否有一個datedate列,並在其中添加數據的日期和時間。

diff <(mysqldump test old_csv --skip-extended-insert) <(mysqldump test new_csv --skip-extended-insert) --side-by-side --suppress-common-lines --width=690 | more 

您可以使用以下方法

1)數據庫表比較-創建表的副本,然后比較數據。

您可以使用適當的工具輕松地進行操作(例如EMS數據比較器 )。

您也可以編寫一些簡單的查詢來實現此目的(例如:不在table_copy中選擇id(在表中選擇id))

2)使用文件比較器,例如winmerge ,使用精確方法對兩個表進行轉儲,然后對其進行比較。

我會根據數據大小使用這兩種方法。 對於較小的數據,第二種方法很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM