SHELL 如何對比兩個資料庫差異?

2021-07-25 04:02:47 字數 549 閱讀 8906

今天一同事碰到這樣乙個問題:要比較兩個資料庫檔案的差異,資料量太大,乙個乙個看是不現實的,有什麼辦法更快一點呢?

中午睡覺的時候,作了一些嘗試,終於想到乙個辦法。

具體的辦法如下:

二、用shell指令碼實現資料庫對比。**如下:

#!/bin/sh

if [ $#

-ne2 ]

then

echo

"usage - $0 db1 db2"

exit0fi

sqlite3 $1

'select * from epgpf order by serviceid'>1.txt

sqlite3 $2

'select * from epgpf order by serviceid'>2.txt

diff 1.txt 2.txt > diff_$1_

$2.patch

sync

哈哈,是不是很簡單。裡面的sql可以根據實際工作替換。

兩個資料庫檔案對比

如下圖所示,函式首先開啟兩個資料庫,然後獲取兩個資料庫的版本資訊。根據資料庫各個表名稱來開啟相應的表,然後判斷兩個表的具體內容是否相同,如果不同的話則列印出該表名,如果使用者選擇列印具體內容的話,則分別列印兩個表的具體內容 由於表的內容可能會比較多,且檢視單個表內容的話使用sqlite軟體看更直觀,...

對比兩個資料庫表結構

在專案做好後實施了以後,可能因為需求等原因需要公升級,這時候一般都是在測試系統改好後在更新到正式系統.儲存過程,檢視等可以直接通過全部刪除在建立進行更新,但是表因為正式系統裡已有資料所以無法通過該方式進行更新.只能更改表結構,而這時有可能因為更改的表結構比較多,而出現有的表忘了更新.該程式可以對比兩...

使用Liquibase對比兩個資料庫之間的差異

1.liquibase官網 2.支援所有主流資料庫 4.環境搭建 4.1 如果沒安裝j a,需要先安裝配置j a環境 4.2 解壓縮zip包,把解壓後的根目錄新增到環境變數 5.建立乙個新的目錄,放入以下三個檔案 5.1 mysql connector j a 8.0.17.jar 5.2 liqu...