import os from tmp.mysql.sql_util import Database # 查询所有表 db = Database('mysql.rxdptest.svc.k5.bigtree.zone', 'test_user', 'tmOxmmc+3jznq2cX', 'dip_message') query = db.query(f"SELECT table_name FROM information_schema.tables WHERE table_schema = DATABASE();") allTable = set([x[0] for x in query]) print(allTable) # 应该有的表 sql_file_table = set("message_record message_record_detail".split(" ")) print(sql_file_table) # 差集 differenceTable = allTable.difference(sql_file_table) print(differenceTable) # 生产sql with open("tmp.sql", "w") as f: for x in differenceTable: f.write(f"DROP TABLE IF EXISTS `{x}`;") f.write(os.linesep)