我有2个数据库,它们共享许多相同的表,我想确定哪个表不存在一个数据库而不存在另一个数据库。有没有简单的方法呢?
答案 0 :(得分:0)
导出相关的整个两个数据库的模式并进行比较。
你可以使用mysqldump
来做到这一点mysqldump -u root -p --no-data dbname > schema.sql
答案 1 :(得分:0)
简单的答案是从每个数据库中获取一个表列表并进行比较。如果您只需要比较表的列表,而不是表的实际结构,这将起作用。
从SQL客户端环境或mysql客户端:
use YOUR_DB_NAME;
show tables;
您将获得一个表格,其中每一行都是表格的名称,以及有用的行数。
| sequence |
+-------------------------+
46 rows in set (0.01 sec)
表格已按字母顺序排列。
如果你想使用某种diff工具,并且需要获取没有ascii框的列表,你可以使用-s(silent)选项启动mysql命令工具:
mysql -u user -h host -p -s
然后,您将获得一个普通列表,您可以将其复制/粘贴或输出到文件。