比较两个数据库所有表的字段

来源:互联网 发布:2017年中日贸易数据 编辑:程序博客网 时间:2024/05/29 17:15
比较两个数据库中所有表的所有字段是否一致,检测其中是否有遗漏的表或字段。
        因为有300多个表,字段8000多个,一个个比较太费时间,所以采用了稍微简单点的方法。
        首先是比对表。
        查看所有的表: select * from tab;
        把结果导出到excel表格中,然后复制到两个不用的txt文档中。
        打开cmd命令。用FC命令比较是否相同。

        比较字段
        查看表名和字段名: select table_name,column_name from user_tab_columns
        将查到的结果按表名排序。
        同样,保存并且用FC命令比较。结果发现很多不同的。。。

        仔细查看,发现虽然按照的表名排序的,但是同一个表中,列名排序有些是不用的,所以用FC比较的时候就失败了。于是用了另一种办法。把文档中的表名和字段合并成一个字符串,然后排序。python代码如下:
 
f = open(""'r')
f1 = open(""'r')
list1 = []
list2 = []
for line in f.readlines():
    list1.append(line)
list1.sort()
f2 = open(""'w')
for i in range(0len(list1)):
    f2.write(list1[i])
for line1 in f1.readlines():
    list2.append(line1)
list2.sort()
f3 = open(""'w')
for i1 in range(0len(list2)):
    f3.write(list2[i1])
f.close()
f1.close()
f2.close()
f3.close()
        搞定。 
 
1 0
原创粉丝点击