您的位置:首页 > 运维架构 > Shell

【SHELL】如何对比两个数据库差异?

2016-06-07 15:35 405 查看
今天一同事碰到这样一个问题:要比较两个数据库文件的差异,数据量太大,一个一个看是不现实的,有什么办法更快一点呢?

中午睡觉的时候,作了一些尝试,终于想到一个办法。

具体的办法如下:

一、先安装sqlite3,在ubuntu上使用sudo apt-get install sqlite3。如果想了解sqlite3的操作,请参考:http://blog.csdn.net/yangchao228/article/details/6614987

二、用shell脚本实现数据库对比。代码如下:

#!/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可以根据实际工作替换。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell 数据库 sqlite3