[SHELL] 어떻게 두 데이터베이스 의 차 이 를 비교 합 니까?

1502 단어 shell
오늘 한 동료 가 이런 문제 에 부 딪 혔 다. 두 데이터베이스 파일 의 차 이 를 비교 하려 면 데이터 의 양 이 너무 많 고 하 나 는 비 현실 적 인 것 인 데 어떤 방법 이 더 빠 를 까?
점심 에 잠 을 잘 때 몇 가지 시 도 를 해서 마침내 방법 이 생각 났 다.
구체 적 인 방법 은 다음 과 같다.
1. sqlite 3 를 먼저 설치 하고 ubuntu 에서 sudo apt - get install sqlite 3 를 사용 합 니 다.sqlite 3 의 동작 을 알 고 싶다 면 참고 하 십시오.http://blog.csdn.net/yangchao228/article/details/6614987
2. 셸 스 크 립 트 로 데이터베이스 대 비 를 실현 합 니 다.코드 는 다음 과 같 습 니 다:
#!/bin/sh

if [ $# -ne 2 ]
then
   echo "Usage - $0 db1 db2"
   exit 0
fi

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 은 실제 작업 에 따라 교체 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기